首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在色度图中绘制多个RGB坐标

如何在色度图中绘制多个RGB坐标
EN

Stack Overflow用户
提问于 2021-06-11 17:46:05
回答 2查看 268关注 0票数 1

在将RGB值绘制成色度图时,我遇到了一些问题:

我有一些不同的RGB值,我想将它们绘制成色度图,使它们变得直观。我想让它们变得直观,因为我必须展示它们,我想让每个人都能看到颜色的差异。

使用Python中的颜色包,我可以制作色度图,并且可以绘制1 RGB值。当我添加更多的RGB值时,我得到一个错误。

这是我的代码:

代码语言:javascript
复制
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,)

我收到了这个错误:

回溯(最近一次调用):文件字段第8行,在RGB = np.array(79,2,45,87,12,67)中TypeError:字段元素必须是2元组或3元组,got '87

在这个图表中,我想绘制我的RGB值:

总而言之,我想将大约20个RGB值绘制到这个图表中。

有没有人能帮我解决这个问题,或者有没有更好/更简单的方法?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-12 03:36:07

虽然@giacomo-catenazzi的答案是正确的,但这里还有更多的微妙之处。

colour.plotting.plot_RGB_chromaticities_in_chromaticity_diagram_CIE1931定义输入的期望是线性浮点RGB数据,默认使用sRGB色彩空间编码。

在这里,您的RGB值是整数,并且可以是8位非线性编码的sRGB值,因此您可能需要将它们转换为浮点表示形式并对其进行解码:

代码语言:javascript
复制
import colour
import numpy as np
from colour.plotting import *

RGB = colour.models.eotf_inverse_sRGB(np.array([[79, 2, 45], [87, 12, 67]]) / 255)

plot_RGB_chromaticities_in_chromaticity_diagram_CIE1931(RGB)

基本上,您需要知道它们是如何编码的,以便在内部,定义可以正确地用数学来表示它们。

票数 1
EN

Stack Overflow用户

发布于 2021-06-11 18:24:37

您错误地使用了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文档中的示例所示。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67934764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档