我在 python 中使用 opencv 并想保存二进制图像 (dtype=bool)。如果我只是使用 cv2.imwrite 我会收到以下错误:
TypeError: image data type = 0 is not supported
有人可以帮我弄这个吗?该图像基本上应该稍后用作遮罩。
原文由 Vaibhav Dixit 发布,翻译遵循 CC BY-SA 4.0 许可协议
我在 python 中使用 opencv 并想保存二进制图像 (dtype=bool)。如果我只是使用 cv2.imwrite 我会收到以下错误:
TypeError: image data type = 0 is not supported
有人可以帮我弄这个吗?该图像基本上应该稍后用作遮罩。
原文由 Vaibhav Dixit 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.3k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
4 回答1.6k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
2 回答968 阅读✓ 已解决
1 回答1.8k 阅读✓ 已解决
你可以使用这个:
因此,这会将其隐式转换为整数,为 --- 提供 0,为
False
True
1,并在写入之前将其乘以 255 以制作(位)掩码。 OpenCV 非常宽容并写入int64
具有 8 位深度的图像(但例如uint16
具有 16 位深度的图像)。该操作 未 就地完成,因此您仍然可以使用maskimg
进行索引等。