首页 > 解决方案 > OpenCV 按位非运算符返回黑色像素的 nan

问题描述

我正在尝试将 OpenCVnot位运算符应用于二进制图像。我生成了一个二维黑色图像,如下所示 black = np.zeros((400, 400)):但是当应用cv2.bitwise_not到它时,所有的零都被替换为nan. 有人可以解释这种行为并告诉我如何解决吗?

我还使用以下代码生成了一个白色图像,但bitwise_not将像素替换为值 -4:

white = np.zeros((400, 400))
white[:, :] = 255

虽然我期待它用 0 代替 255。

谢谢您的帮助。

标签: pythonopencvcomputer-vision

解决方案


正如 Matteo 在评论中指出的那样,问题来自生成图像时使用的数据类型。您必须指定dtype=np.uint8.


推荐阅读