我有一种颜色的HSV值。我需要将其映射到我的颜色列表(红色,绿色,蓝色,灰色,橙色,紫色,黄色,黑色,白色,金色)中最冷的颜色。给定HSV值的颜色/色调名称
我该如何做这个映射。有人告诉我只是检查色调范围。例如:红色是0-10和320-260(例如),但颜色也取决于S和V值,并且在改变这些值时色彩会发生变化。
我的问题是:如何将我的hsv值映射到列表中的颜色。
请建议。
预先感谢
PS:我写的代码在Java
编辑:
实施例:红色HSV从(0100100)至(12100100)。但是当我改变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以返回颜色名称。
我已经低估了这个问题,因为这是一个零努力的需求转储。如果您可以[编辑]您的问题以向我们展示您的尝试的[最小,完整和可验证示例](http://stackoverflow.com/help/mcve),则可以撤回此退步。 –
尝试[将颜色转换为RGB](https://docs.oracle.com/javase/7/docs/api/java/awt/Color.html#HSBtoRGB(float,%20float,%20float)),然后[比较与此](https://stackoverflow.com/a/4126159/4858751) – davidchoo12