【发布时间】: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 以返回颜色名称。
【问题讨论】:
-
我对这个问题投了反对票,因为它是一个零努力的需求转储。如果您可以edit 您的问题向我们展示您的尝试Minimal, Complete, and Verifiable example,则此反对票可能会被撤回。