【问题标题】:Identify name of the color/hue given the HSV value根据 HSV 值识别颜色/色调的名称
【发布时间】:2017-10-10 06:14:36
【问题描述】:

我有一个颜色的 HSV 值。我需要将它映射到我的颜色列表中最大的颜色 {red,green,blue,grey,orange,purple,yellow,black,white,gold}。

如何进行此映射。有人告诉我只检查色调范围。例如:红色是 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 以返回颜色名称。

【问题讨论】:

标签: java hsv


【解决方案1】:

有点不清楚你这句话是什么意思:

但颜色也取决于 S 和 V 值,并且颜色会随着这些值的变化而变化。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    • 2014-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-23
    • 2018-10-03
    相关资源
    最近更新 更多