应用颜色信息的图像分割研究
2012-06-09翟乃强
翟乃强
(青岛远洋船员学院 现代教育技术中心,山东 青岛 266071)
在图形图像的处理中,经典的方式是将彩色的位图变换为灰度图,然后再通过滤波、求梯度、细化等方式提取所需的信息。这种方式,可以满足大多数的图像识别要求。但是,一幅彩色的图像转换为灰度图,事实上抛弃了许多有用的信息,这些信息的缺失导致在图像识别或者分割时不能很好的反映实际图像的特点,甚至也有可能使得图像中具有显著区别的区域变为没有任何区别的相同区域。本文在RGB空间使用颜色距离的方式代替灰度图下求梯度的方式,对于图像进行分析,由于充分利用颜色信息,处理的结果也就更能接近于原始图像的特点。
1 图像的灰度化
现在的大多数图像识别方法首先将彩色图像转化成二值图像或灰度图像,在保留有效信息的同时将大大地缩减冗余信息,减少图像的文件大小,从而为后续的数字图像处理减少所需的计算机内存、提高运算的速度、缩短运算的时间。在RGB图像中需要24位来表示一个像素,而灰度图像只需要8位就可以表示一个像素,因此转化为灰度图像后将至少减少2/3的存储空间和处理时间。
图像灰度化转换目前在绝大多数的图像处理研究中已成为首要的图像处理步骤,在进行如图像分割、特征提取、模式识别等高层次图像处理之前,一般都首先将原始图像转化为灰度图像,这样做的意义主要基于以下3点:
1)将图像上每个像素所表达的色彩信息转换为亮度信息,在保留图像重要特征的前提下大大地压缩图像文件的数据大小,为后续的图像处理操作提供更小的数据处理量、更少的计算机内存需求、更快的计算速度,从而将大大地减少计算处理所需要的时间。
2)对于彩色图像而言,原始RGB全彩色图像中有用信息占全部信息的比例是非常低的,需要进行相关处理来压缩冗余信息的比例,是对彩色图像的一种降噪处理。
3)更为重要的是,目前成熟的图像识别算法都是在基于灰度图像上进行的。通常由现代数码照相设备获取的图像都是色彩丰富的RGB全彩色图像,在图像中每个像素的色彩信息是用3个字节(即24 bit)的存储空间来表示,而灰度图像中每个像素的亮度信息是用1个字节(即1 bit)的存储空间来表示,因此从理论可知,将RGB全彩色图像转化为灰度图像将减少至少2/3的数据存储空间和处理所需时间,同时也将减少2/3的色彩冗余信息[1]。
彩色图像的灰度化是图像处理的基本方法,在图像检测与识别、图像分析与处理等领域有着广泛的应用,如人像、文字、车牌的识别和处理等。灰度化的方法有多种,最简单的方式为平均值法,其近似公式为:
这种方式将R、G、B 3个分量同等看待,灰度化的原理和实现都很简单,对于24位位图来说,为了处理方便起见,仅需要将各颜色分量设置为此灰度值即可。这种方式并没有考虑3种基本色各自具有不同视觉效果的情况,比如在背景色为白色情况下,蓝色和红色看起来就要比绿色显得更醒目一些[2]。
另一种应用较多的方法是加权平均法,其近似公式为:
这种方式事实上是由RGB空间转换到YUV空间所得到的亮度值Y。在空间的转换过程中充分考虑了人眼对于不同颜色敏感度的高低。灰度化事实上一般取得是彩色图像的亮度信息,只包含原始图像信息的一部分。在灰度化过程中,不论是哪一种灰度化方式,给定一个灰度值Y,RGB分量的值可能有多组,这也就决定了一幅彩色图片的灰度化,可能多种颜色值所得到的灰度值是一样的,如图1所示。
图1 不同的颜色对应相同的灰度值Fig.1 Different colors have the same gray value
图1(a)中彩色图片左上角沿顺时针RGB值分别为{0,103,255},{255,23,0},{0,153,0}和{203,0,255}。
它们是按照加权平均法计算所得灰度值为90的多种RGB组合中的其中4种,这些颜色值在灰度化过程中将变的没有任何区别。如图1(b)所示,如果用求梯度的方式来进行图像的边缘提取,将只能得到一个圆。
在实际的彩色图像中,很难发生图片的组成颜色灰度化后均得到相同灰度值的情形,但是这种现象也是实际存在的,它会导致一幅图像在灰度化后边缘信息的缺失。如果以颜色为图像划分区域的判定方式,则可以大大提高边缘信息的识别率。
2 色彩空间与颜色距离
CIE L*a*b*(CIELAB)是常用来描述人眼可见的所有颜色的最完备的色彩模型。在L*a*b*模型中的均匀改变对应于在感知颜色中的均匀改变。所以在L*a*b*中任何2个颜色的相对感知差别,可以通过把每个颜色处理为三维空间中一个点来近似,并计算在它们之间的欧几里得距离[3]。使用CIE L*a*b*空间的显著优点是可以进行较为精确的颜色区分。
常用的色彩空间还包括HSV和HSL空间。HSV和HSL均属于认知颜色空间,从这样的空间中可以很容易得到颜色的认知属性饱和度、亮度和色调。但HSV或HSL颜色空间中,色彩信息与H分量和S分量有关,并且各分量中的颜色值也不是线性的,因此需要首先将颜色空间进行区域的划分,然后给出各区域内颜色距离的定义[4]。
因为目前图像处理中现有的图像采集设备最初采集到的颜色信息大多是RGB值,其他所有的颜色空间都是从RGB颜色空间转换而来的,包括CIE L*a*b*空间。其处理结果,如果需要显示出来,也转换回RGB颜色空间。如果使用CIE L*a*b*空间虽然可以进行较为精确的颜色区分,但涉及到较为复杂的正向和反向的变换运算。
虽然RGB空间不是一个均匀的颜色空间,任何2个颜色点之间的距离并不等同于它们的视觉差异[5]。但是,只要取一个合适的阈值,对于人眼实际的颜色分辨能力来说,也完全能够进行颜色的区分。在RGB空间中,表示两个颜色相近程度的方式,仍然采用欧几里得距离。
其中 R1、R2、G1、G2、B1和 B2分别表示 RGB 颜色空间中的2个点3种颜色分量。为了计算方便,假定RGB颜色立方体的原点为RGB(0,0,0),每个颜色的最大值是 255。 因此的整数取值范围约为[0,441]。
3 颜色距离直方图
颜色直方图所描述的是不同色彩在整幅图像中所占的比例,而并不关心每种色彩所处的空间位置,即无法描述图像中的对象或物体。直方图中的数值都是统计而来,描述了该图像中关于颜色的数量特征,可以反映颜色直方图图像颜色的统计分布和基本色调;直方图只包含了该图像中某一颜色值出现的频数,而丢失了某象素所在的空间位置信息;任一幅图像都能唯一的给出一幅与它对应的直方图,但不同的图像可能有相同的颜色分布,从而就具有相同的直方图,因此直方图与图像是一对多的关系;如将图像划分为若干个子区域,所有子区域的直方图之和等于全图直方图;一般情况下,由于图像上的背景和前景物体颜色分布明显不同,从而在直方图上会出现双峰特性,但背景和前景颜色较为接近的图像不具有这个特性。因此,由颜色直方图可以反映颜色的数量特征和基本色调[6]。相对于颜色直方图提出颜色距离直方图的概念,表示两点之间距离的分布情况。
距离的计算可以参考边缘检测里面常用的梯度算子。属于梯度算子的有Roberts算子、Sobel算子、Prewitt算子、高斯偏导滤波器(LOG)以及Canny边缘检测器等[7]。任意的算子在这里均能得到相似的比较结果。这里采用计算较为简单的Roberts算子,计算当前点2个方向邻点间颜色距离的均值,作为此点的颜色距离值。其算子模板为:
统计图中每个点的颜色距离值可以得到一个颜色距离直方图,如图2所示。
图2 颜色距离直方图Fig.2 Color distance histogram
图2(b)中直方图x轴方向代表两点之间颜色距离值,长度单位为10,y方向代表图像2点之间同一距离下具有的像素点数。颜色距离直方图直观的给出了图像中各点之间颜色距离值的数量,此图片颜色距离在30左右数量迅速较少,因此可以采用此值作为边缘值的阈值。实际应用中,不同类型的图像其颜色直方图差别也较大,但大多数的颜色丰富的图片,其直方图可通过曲线拟合的方式得到一个合适的阈值。
4 边缘的提取
图像边缘指的是图像中灰度值或者色彩值的突变部分,是图像最基本的特征之一。边缘包含了图像大部分信息,边缘检测是图像处理和分析的关键步骤,对后续高层次的特征描述、匹配和识别等有着重大的影响。在第3部分的颜色距离直方图的计算中采用了Roberts算子进行阈值的确定,阈值的确定过程中事实上已经进行了边缘提取的计算,只需要根据确定的阈值,将彩色图像二值化,就可以得到提取的边缘图像[8]。对于图2中原始图像分别进行文中所述的应用颜色信息法和通常的灰度化后进行边缘提取所得到的图像如图3所示。
图3 边缘提取比较Fig.3 Comparison of edge extraction
对于图1原始图像分别进行文中所述的应用颜色信息法和通常的灰度化后进行边缘提取所得到的图像如图4所示。
5 结束语
图4 边缘提取比较Fig.4 Comparison of edge extraction
由图3及图4可以得出,本文所提出的应用颜色信息法进行边缘提取所得到的图像比灰度图下使用同样的算法保留了更多的边缘信息,尤其是图像中边缘两边的区域颜色亮度接近的部分,能够更好的保留下来。
[1]张秉正.基于保留色度信息灰度化编码的彩色图像识别方法研究[D].长春:东北师范大学,2010.
[2]周金和,彭福堂.一种有选择的图像灰度化方法[J].计算机工程,2006,32(20):198-200.ZHOU Jin-he,PENG Fu-tang.A method of selective image graying[J].Computer Engineering,2006,32(20):198-200.
[3]维基百科.Lab色彩空间 [EB/OL][2011-11-10].http://zh.wikipedia.org/wiki/CIELAB.
[4]张国权,李战明,李向伟,等.HSV空间中彩色图像分割研究[J].计算机工程与应用,2010,46(26):179-181.ZHANG Guo-quan,LI Zhan-ming,LI Xiang-wei,et al.Research on color image segmentation in HSV space[J].Computer Engineering and Applications,2010,46(26):179-181.
[5]陶霖密,徐光枯.机器视觉中的颜色问题及应用[J].科学通报,2001,46(3):178-190.TAO Lin-mi,XU Guang-you.The color machine vision problems and applications[J].Chinese Science Bulletin, 2010,46(3):178-190.
[6]百度百科.颜色直方图 [EB/OL][2010-11-10].http://baike.baidu.com/view/2438797.htm.
[7]马艳,张治辉.几种边缘检测算子的比较[J].工矿自动化,2004(1):54-55.MA Yan,ZHANG Zhi-hui.Several comparison of edge detection operators[J].Industry and Mine Automation,2004(1):54-55.
[8]杨枝灵,王开.Visual C++数字图像获取、处理及实践应用[M].北京:人民邮电出版社,2003.