我希望使用OpenCV / Numpy设置在Python中创建由随机像素值数组构成的RGB图像。
我能够创建一个灰色图像 - 看起来很神奇;使用此代码:
import numpy as np
import cv2
pic_array=np.random.randint(255, size=(900,800))
pic_array_8bit=slika_array.astype(np.uint8)
pic_g=cv2.imwrite("pic-from-random-array.png", pic_array_8bit)
但我也想把它变成彩色。我尝试过使用cv2.cvtColor()进行转换,但它无法正常工作。
问题可能出在数组定义或错过的步骤中。无法找到类似的情况......任何有关如何制作彩色随机RGB图像的帮助都会很棒。
谢谢!
答案 0 :(得分:5)
RGB图像由三个灰度图像组成。您可以制作三个灰度图像,如
rgb = np.random.randint(255, size=(900,800,3),dtype=np.uint8)
cv2.imshow('RGB',rgb)
cv2.waitKey(0)
答案 1 :(得分:-1)
首先,你应该使用numpy定义一个由3个通道组成的随机图像数据,如下所示 -
import numpy as np
data = np.random.randint(0, 255, size=(900, 800, 3), dtype=np.uint8)
现在使用python成像库,如下所示 -
from PIL import Image
img = Image.fromarray(data, 'RGB')
img.show()
您还可以使用save
功能
img.save('image.png')