2010-07-12 167 views
4

我正在编写一个程序,允许用户在RGB中选择各种前景和背景颜色。我不希望他们选择过于类似的前景和背景,并决定转换为HSL,并使用HSL欧几里得距离作为检查相似度的方法。HSL颜色之间的距离测量

对于HSL空间有没有很好的权重(而不是对H,S和L的权重相等)?我查看过各种网站,但没有找到所需的确切内容;只是说HSL或HSB比RGB好。

回答

1

我没有确切的数字给你,但是我会用比H或S高得多的权重。眼睛在区分不同饱和度的相同颜色方面很差,差别很大色调 - 特别是如果它是你想看到的细节,比如文字。

4

首先将颜色转换为Lab。这种颜色空间的设计使得任何两种颜色之间的矢量差异非常接近“主观距离”。

在色彩管理中,'delta E'值是衡量给定颜色转换是如何感知忠实的量度。它只是Lab空间中表达的原始颜色和最终颜色之间的矢量差的大小。

3

我的建议是完全跳过HSL/HSB,直接从RGB to LAB开始。一旦你这样做了,你可以做一个标准的delta E计算。