在进行彩色图像处理中,尤其是对于分割、分类和识别,都不可避免的涉及到颜色的度量。而在具体的应用中,选择哪种方式来度量颜色间的差异是一个很值得研究的问题。本文根据论文:Change Detection In Color Images的内容翻译而来,如果还要了解相关细节,请参考原文:Change Detection In Color Images。
(1)Euclidean Distance of Raw RGB
设r1和r2表示RGB颜色空间的两个像素值,其距离为:dist(r1,r2)=||r1-r2||。
(2)Dot Product of Unit RGB Vectors
该种方式将RGB分类做为一个向量,然后对其进行单位矢量化,即r = r/||r||, 两个像素间的距离度量方式为:dist(r1,r2)=1-r1.r2(r1、r2是r1、r2的单位矢量化后的向量)。
(3)Euclidean Distance of HSV
HSV颜色空间是一个符合人的视觉感知的颜色空间,可以对亮度和颜色信息进行分离。然而,HSV颜色空间具有自身的缺陷: ① 当 s= 0时,h没有定义; ② 当s很小时,h很不稳定。因此为了考虑这种情况,我们既利用如下方式来度量HSV颜色的差异:
dist(h's'v', hsv) = || (vscos(2PI*h), vsin(2PI*h),v) - (v's'cos(2PI*h'), v's'sin(2PI*h'),v')||。
(4)Euclidean Distance of HS
该方式就利用HS分量来度量颜色的差异,公式为: dist(h's'v', hsv) = || (scos(2*PI*h), ssin(2*PI*h)) - (s'cos(2*PI*h'), ssin(2*PI*h'))||。
(5) Euclidean Distance of H
该种方式直接采用H分量,差异度量表示为:||h-h'||。
(6)Combined HS versus V
该种方式考虑H、S、V三个分量,度量方式表示为:dist(h's'v', hsv) = max (|| (scos(2*PI*h), ssin(2*PI*h)) - (s'cos(2*PI*h'), ssin(2*PI*h'))||, |v-v'|)。
尽管,颜色差异的度量方法有很多,如夹角,但是这里的几种方式很有代表性。实验中表明:第1、2、3、6种方式具有较强的稳定性。我们在应用的时候,可以根据自己的要求选择性使用。个人建议选择则第一种和第三种。