在Python中显示随机RGB像素



我正在开始一个小项目,我很难找到我想要的答案。我真的不知道我应该用什么术语来搜索,也找不到类似的词,所以如果之前有人问过我,我很抱歉。

我本质上是在尝试一个设定大小的2D图,例如300x300,充满随机RGB像素。到目前为止,我已经想好了如何使用imshow绘制它们并删除轴标签,但看起来很奇怪,好像放大得太远了。此外,我知道我可以在imshow中使用RGB参数,但matplotlib手册对此进行了介绍,但从未给出任何示例。我发现的最接近RGB的cmap是hsv,所以我现在使用它,直到我找到RGB解决方案。

有人能帮我给每个像素分配一个随机的RGB值,而不是使用cmap吗?也许可以调整图像的外观大小,使像素更小;放大";?我愿意使用imshow以外的东西来获得灵活性,这是我唯一能做我想做的事情。提前非常感谢!

import matplotlib.pyplot as plt
import matplotlib.cm as cm
from numpy import random
Z = random.random((300,300))
plt.imshow(Z, cm.get_cmap("hsv"), interpolation='nearest')
plt.axis('off')
plt.show()

以下是如何使用PIL:

from PIL import Image
import numpy as np
data = (np.random.random( (300,300,3) ) * 256).astype(np.uint8)
img = Image.fromarray(data)
img.show()
img.save('rand.png')

最新更新