比较仅由计算机评估的颜色时,是否需要更改颜色空间?

时间:2014-08-24 06:23:15

标签: opencv colors

我很担心需要更改颜色空间以进行颜色比较。我已经阅读了关于delta E,Lab格式,我明白RGB颜色空间的比较似乎不适合人眼。但是,我的程序使用线性色标来计算彩色流量多普勒信号的速度。它采用样本区域的平均颜色,并将其与比例的颜色进行比较,以使用欧几里德距离找到其最近邻居。我完全在BGR(OpenCV)颜色空间中这样做,如下面的示例图片:

example signal image

在这里,我获得了每个色环看似正确的速度值,但这只是偶然的,或者是我的假设是正确的,因为颜色比较是在内部进行的,所以我所处的颜色空间无关紧要吗

2 个答案:

答案 0 :(得分:1)

由于您搜索最近邻居,并使用3D点(在颜色空间中)操作,因此您选择的颜色空间无关紧要,它们将仅以不同方式显示。

答案 1 :(得分:1)

颜色的比较并不是直截了当的。您需要确定哪种颜色定义为接近另一种颜色,然后选择最合适的颜色空间来支持它。

例如,在HSL中工作将为您提供一种基于色调评估颜色的简便方法。如果您乐于忽视或至少降低饱和度和亮度的相关性,那就没问题了。

另一方面,如果您希望饱和度中的点变化与色调中的点变化相关,则使用RGB或CMYK更合适。通过将通道绘制为三个轴,然后在两种颜色之间创建距离来测量距离。这有一个缺点,即饱和度的10点偏移具有与色调10点偏移相同的测量差异,这在视觉上不会那么有意义,因为感知差异将不等于数学。

这带来了另一个考虑因素。人眼对不同颜色的颜色变化更敏感。例如,绿色比洋红色更明显。一直到进化,但可能会对你的代表产生影响。

我个人倾向于使用RGB,因为它是视觉显示所需要的,但最常见的是我会按色调排列颜色,所以要保持转换方便HSL / HSB。