我在将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,)
我收到这个错误:
回溯(最近一次呼叫最后一次): 文件“C:\Users\User\PycharmProjects\pythonProject4\Overige\Cie.py”,第8行,在 RGB=np.数组([79,2,45],[87,12,67]) TypeError:字段元素必须是2或3元组,得到'87
总的来说,我想在这张图中画出大约20个RGB值
有人能帮我解决这个问题吗?或者有更好/更简单的方法吗
谢谢
您错误地使用了
np.array
: 您应该使用np.array([[79, 2, 45], [87, 12, 67]])
,而不是np.array([79, 2, 45], [87, 12, 67])
。注意,第一个参数应该包含数据,因此您应该定义一个数组的数组,而不是给np.array
一系列向量函数
plot_RGB_chromaticities_in_chromaticity_diagram_CIE1931
可以使用numpy数组(我的注释是错误的),如plot_RGB_chromaticities_in_chromaticity_diagram_CIE1931文档中的示例所示虽然@giacomo catenazzi的答案是正确的,但这里还有一些微妙之处
colour.plotting.plot_RGB_chromaticities_in_chromaticity_diagram_CIE1931
定义输入的预期是线性浮点RGB数据,默认使用sRGB颜色空间进行编码这里,您的RGB值是整数,可以是8位非线性编码的sRGB值,因此您可能需要将其转换为浮点表示并解码:
基本上,您需要知道它们是如何被编码的,以便在内部,定义能够正确地表示它们
相关问题 更多 >
编程相关推荐