【发布时间】:2021-08-28 06:21:44
【问题描述】:
我在将 RGB 值绘制成色度图时遇到了一些问题:
我有一些不同的 RGB 值,我想将它们绘制成色度图以使它们可视化。我想让它们可视化,因为我必须展示它们,并且我希望每个人都能看到色差。
使用 Python 中的颜色包,我可以制作色度图并绘制 1 个 RGB 值。当我添加更多 RGB 值时,出现错误。
这是我的代码:
import numpy as np
from colour.plotting import *
RGB = np.array([79, 2, 45], [87, 12, 67])
plot_RGB_chromaticities_in_chromaticity_diagram_CIE1931(
RGB,)
我收到此错误:
Traceback(最近一次调用最后一次): 文件“C:\Users\User\PycharmProjects\pythonProject4\Overige\Cie.py”,第 8 行,在 RGB = np.array([79, 2, 45], [87, 12, 67]) TypeError:字段元素必须是 2 或 3 元组,得到 '87
总的来说,我想在这张图中绘制大约 20 个 RGB 值。
有人可以帮我解决这个问题,还是有更好/更简单的方法来解决这个问题?
谢谢!
【问题讨论】:
-
很难看出,但从错误来看,我认为您正在考虑“numpy”方式,而图书馆则采用经典方式。所以我认为你应该迭代每个点,并在图中绘制每个点。最后一点:色度图永远不应该用彩色绘制:它会给出错误的颜色概念,后来很难纠正(例如,中心点是白色、黑色、灰色,但也可以看作是红色、绿色,蓝色等,并且您代表色域外的颜色(并且终端颜色应该变为橙色,并且没有固定的下限)
-
所以应该是这样的吧? RGB1 = np.array([79, 2, 45]) RGB2 = np.array([87, 12, 67]) plot_RGB_chromaticities_in_chromaticity_diagram_CIE1931( RGB1, RGB2) 我可以根据绘制的颜色跟随你,你知道一种方法吗?例如,将它们全部绘制成黑色?
-
抱歉我错了。
-
感谢您的回答。 2 个附加问题:如何使绘图变为黑色而不是白色,是否可以为每个绘图添加标签? @GiacomoCatenazzi
-
我不知道。对于第二部分,我认为它只是一个 matplotlib 图,因此您可以分配和更改内容(或者您在函数中添加参数,根据 mathplotlib 的通用参数)。第一部分:我认为有可能,但我不太了解
color包
标签: python numpy colors cielab