我在 python 中使用 opencv 并想保存二进制图像 (dtype=bool)。如果我只是使用 cv2.imwrite 我会收到以下错误:
TypeError: image data type = 0 is not supported
有人可以帮我解决这个问题吗?该图像基本上应该稍后用作 mask 。
最佳答案
你可以使用这个:
cv2.imwrite('mask.png', maskimg * 255)
所以这会将它隐式转换为整数,它为 False
提供 0,为 True
提供 1,并在写入之前将其乘以 255 以生成(位)掩码它。 OpenCV 非常宽容,可以写入 8 位深度的 int64
图像(但例如 uint16
16 位深度的图像)。该操作未就地完成,因此您仍然可以使用maskimg
进行索引等
关于python - 如何使用 cv2 保存二进制图像(dtype=bool)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44587613/