我正在修改通过相机读取的图像的像素,我试图使用imshow()
在屏幕上看到它,但我每次都会得到一个黑屏。
唯一可行的方法是首先保存它(使用imwrite()
然后再次读取它(使用imread()
)
这会产生黑屏: -
def foo(im):
cv2.show(im)
cv2.waitKey(10)
ret_im = some_fn(some_image)
foo(ret_im)
然而,这给出了正确的图像: -
def foo(im):
cv2.show(im)
cv2.waitKey(10)
ret_im = some_fn(some_image)
cv2.write("some_name.png",ret_im)
ret_im = cv2.read("some_name.png")
foo(ret_im)
原始图像也像魅力一样。例如:
def foo(im):
cv2.show(im)
cv2.waitKey(10)
foo(some_image)
我认为,这与输入数据格式有关。我尝试通过修改图片将其与some_image
类型匹配。
我必须在这里提一下,我正在修改图像,将其视为一个列表,最后使用以下代码将其转换为numpy数组:numpy.array(list_name)
因此,它可以被视为使用:
def foo(im):
cv2.show(im)
cv2.waitKey(10)
ret_im = numpy.array(some_fn(some_image))
foo(ret_im)
答案 0 :(得分:0)
图像格式需要“uint8”编号。 我使用的是导致问题的int32号码。