图像的RGB立方体

2024-09-28 05:24:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用python中的matplotlib创建一个图像的RGB立方体。我有一个python列表,其中包含格式为[(2,152,255),(0,0,0)...]的所有像素的RGB。我用散射函数绘制所有的点,但我不知道如何用各自的RGB颜色来绘制每个RGB点。在

我尝试过这样做ax.scatter(paleta[0],paleta[1],paleta[2],c = RGBlist),但是函数需要一个RGBa值。。。在

我想是这样的:

enter image description here

代码:

paleta=zip(*RGBlist)        
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(paleta[0],paleta[1],paleta[2])
ax.grid(False)
ax.set_title('grid on')
plt.savefig('Images\\RGBcube.png')


Tags: 函数图像列表matplotlib格式fig绘制plt
2条回答

^{}函数中设置color属性:

color - matplotlib color arg or sequence of rgba tuples

尝试将RGB值缩放到范围[0,1]:

ax.scatter(paleta[0],paleta[1],paleta[2], c=[(r[0] / 255., r[1] / 255., r[2] / 255.) for r in RGBlist])

这在以下示例中起作用:

import random
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import axes3d, Axes3D

RGBlist = [(random.randint(0,255), random.randint(0,255), random.randint(0,255)) for i in range(100)]
paleta=zip(*RGBlist)
fig = plt.figure()
ax = Axes3D(fig)
ax.scatter(paleta[0],paleta[1],paleta[2], c=[(r[0] / 255., r[1] / 255., r[2] / 255.) for r in RGBlist])
ax.grid(False)
ax.set_title('grid on')
plt.savefig('blah.png')

给出输出:

{1美元^

相关问题 更多 >

    热门问题