确定给定HSV值的颜色/色调的名称

时间:2017-10-10 06:14:36

标签: java hsv

我有一个颜色的HSV值。我需要将它映射到我的颜色列表中的最粗颜色{红色,绿色,蓝色,灰色,橙色,紫色,黄色,黑色,白色,金色}。

如何进行此映射。有人告诉我只检查色调范围。例如:红色是0-10和320-260(例如),但颜色也取决于S和V值,并且色调在更改这些值时会发生变化。

我的问题是:如何将hsv值映射到列表中的颜色。

请建议。

提前致谢

PS:我在java中编写代码

编辑:

示例:红色hsv的范围从(0,100,100)到(12,100,100)。但是当我改变S和V值时,红色范围从(0,50,50)到(3,50,50)。更改HSV值会改变我的范围。因此,颜色名称取决于S和V.此外,202,19,58 hsv是灰色的,因此是154,4,56。但灰色的hsv是0,50,50。那我如何从HSV确定灰色呢?我的HSV功能返回202,19,59。使用不同的S和V值时,颜色变为绿色,蓝色,灰色。请告诉我如何识别我的颜色。

目前,我正在寻找最接近的距离来比较我的HSV和DB颜色HSV以返回颜色名称。

1 个答案:

答案 0 :(得分:0)

这句话有点不清楚你的意思:

  

但颜色也取决于S和V值,并且在更改这些值时色调会发生变化。

您的列表仅包含10种颜色,而不包含浅蓝色。因此,根据我的理解,您最好的选择是按照某人的建议检查色调值,并使用S和V值来确定黑人或白人的亲密度。 我发现以下文章对于理解HSV配色方案非常有用:http://learn.leighcotnoir.com/artspeak/elements-color/hue-value-saturation/

如果您能解释更多,我将很乐意尝试进一步提供帮助。