图像处理中的颜色与直方图技术
1. 颜色空间基础
颜色的表示方式有多种,其中色调(Hue)、饱和度(Saturation)和明度(Value)颜色空间的引入,是因为它符合人类自然组织颜色的方式。人类倾向于用直观的属性来描述颜色,如色泽、鲜艳度和亮度,这三个属性也是大多数现象颜色空间的基础。
- 色调(Hue) :表示主导颜色,我们给颜色起的名字(如绿色、黄色、蓝色和红色)对应不同的色调值。在8位图像中,色调通常用0到180之间的角度值表示(原本是0到360度,OpenCV将其除以2以适应1字节范围)。例如,天空和水的色调值约为200度(对应蓝色),背景中树木的绿色调约为90度。需要注意的是,对于饱和度非常低的颜色,色调的评估不太可靠。
- 饱和度(Saturation) :反映颜色的鲜艳程度。柔和的颜色饱和度低,而彩虹的颜色饱和度高。饱和度值在0到1.0之间,对于8位图像,会重新缩放到0到255之间。在灰度图像中,当R、G、B三个分量都相等时,饱和度值为0。例如,城堡不同屋顶的深灰色石头,其饱和度为0。不过,在饱和度图像中,原始图像的非常暗的区域可能会出现白色斑点,这是因为饱和度只衡量BGR值的最大和最小值之间的相对差异,像(1,0,0)这样的三元组饱和度为1.0,但看起来是黑色,所以暗区域的饱和度值不可靠。
- 明度(Value) :在OpenCV的HSV空间实现中,它被定义为三个BGR分量的最大值,是亮度概念的一种简单实现。若要更好地匹配人类视觉系统对亮度的定义,可使用感知均匀的L a b 和L u v 颜色