【发布时间】:2018-06-01 19:53:14
【问题描述】:
所以,我想使用 python Numpy 库创建一个 500x500 的白色图像,尽管我可以在 Photoshop 中轻松完成。下面的代码是有效的,图像是白色的(因为我使用 cv2.imsave 函数保存了图像,后来我用 windows 照片查看器打开了它)。但是当我尝试使用 cv2.imshow 函数显示它时,会显示黑色图像。这是为什么?这是cv2的缺点吗?
import cv2
import numpy as np
img = np.arange(500*500*3)
for i in range(500*500*3):
img[i] = 255
img = img.reshape((500, 500, 3))
cv2.imwrite("fff.jpg", img)
cv2.imshow('', img)
【问题讨论】:
-
您可能需要显示具有
int8数据类型的数组 -img.astype(np.uint8)? -
你明白了。我修改了第三行并添加了参数“dtype = np.uint8”并且它起作用了。很难找到它。我花了几个小时才找到它。
-
我可以想象这是一个反复出现的问题,所以我找到了文档并在答案中链接到它。