我有一个预定义颜色和给定颜色的地图来选择一个最接近的匹配。如果我将使用距离公式,我是否会计算与地图中每个预定义颜色的距离,而不是在匹配限制之间找到一个键?从std :: map选择最接近的RGB颜色
2
A
回答
0
颜色比3D复杂一点。你必须考虑亮度以及红色,绿色或蓝色的颜色。那么1,0,0比255,0,0更接近0,1,0?所以也许颜色需要被认为是四维的?另外,人类对颜色的反应并不是线性的,所以如果你只看两个RGB值之间的数学距离,就会测量一个与人类在两种颜色之间判断的距离不一致的“距离”。
对于这种类型或工作,RGB是一种非常不令人满意的颜色测量方法(尽管它对控制硬件很方便)许多人推荐使用HSL系统,它允许您设置与“颜色”无关的亮度,以及应该更接近人类对颜色的反应。
有关在这类工作中使用HSL以及HSL和RGB之间转换的代码的更多信息,请参阅我以前的回答Function for creating color wheels
3
是的,你需要迭代地图中的每种颜色并计算距离。此外,颜色是3D,而std :: map是1D,如果您有很多颜色,则可能需要类似3D kd tree而不是1D地图来进行快速查找。虽然只是迭代几种颜色不会很昂贵。
相关问题
- 1. RGB最接近预定义的颜色
- 2. 将RGB颜色转换为C中最接近的ACI颜色#
- 3. 查找最近的RGB颜色
- 4. 颜色 - 寻找最接近的颜色
- 5. RGB颜色相近的近似算法
- 6. 将rgb颜色转换为最接近的有效CSS3颜色名称
- 7. 如何将RGB颜色转换为最接近的匹配8位颜色?
- 8. Objective C查找最接近的颜色(rgb)匹配
- 9. Rails 3的RGB颜色选择器3
- 10. 如何将256色转换为最接近的匹配RGB颜色?
- 11. 将RGB颜色转换为调色板中最接近的颜色(网页安全色)?
- 12. 如何获得接近另一种颜色的颜色的rgb值?
- 13. 找到最接近的颜色
- 14. 确定最接近的已知颜色
- 15. 在颜色范围内寻找最接近的颜色匹配
- 16. 虹膜颜色选择器:将选定的颜色设置为RGB值
- 17. 近似选择颜色区域
- 18. jquery最接近()选择
- 19. 如何从intellij颜色选择器复制rgb?
- 20. 何时选择关键值数据的std :: map over std :: map?
- 21. 如何JFrame的颜色选择只启用RGB选项卡
- 22. 选择最近从表
- 23. 选择最近从MySQL表
- 24. 选择最近的
- 25. 从JComboBox中选择颜色
- 26. 如何选择RGB颜色过滤点的范围?
- 27. 插值RGB颜色
- 28. 选择最接近的匹配
- 29. MySQL的选择最接近的值
- 30. 颜色选择框选择