我有一種顏色的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