使用随机数组中的OpenCV在Python中创建RGB图片

时间:2018-04-25 14:48:48

标签: python numpy opencv

我希望使用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图像的帮助都会很棒。

谢谢!

2 个答案:

答案 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')