cv2.imshow()参数格式?

时间:2016-03-28 21:39:05

标签: python image opencv

我正在修改通过相机读取的图像的像素,我试图使用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) 

1 个答案:

答案 0 :(得分:0)

图像格式需要“uint8”编号。 我使用的是导致问题的int32号码。