一种基于立方体相似度的彩色图像边缘检测算法

2018-04-12 04:23王娜
计算技术与自动化 2018年1期
关键词:边缘检测

王娜

摘要:对彩色图像边缘检测算法进行了研究,提出了一种基于立方体相似度的边缘检测算法,同时,对几个相关的问题做了详细的描述,如颜色空间的概念、分类等。这种算法在一定程度上合理地对R、G、B三个颜色分量之间的关联性进行了构造,对相关颜色的向量问题转为标题问题,转入了发展相对完善、人们更为熟悉的领域。经过实验得出,该算法可以很充分的通过图像的颜色信息,使原彩色图像的边缘得到更完整的保留。

关键词:彩色图像;边缘检测;立方体相似度;RGB颜色空间

中图分类号:TP391

文献标志码:A

对于计算机分析和图像识别来说,图像的边缘信息是非常重要的,反映了图像中局部特性的一些不连续性,如颜色突变、灰度突变等。图像边缘意味着图像中一个区域的开始及另一个区域的终结[1]。在图像识别中,可以依据边缘提取图像的特征,它蕴含了丰富的内在信息,例如形状、阶跃性质和方向等。除此,观察者还可以通过边缘一目了然的勾划出目标物体[2]。

目前,人们对于灰度图像边缘检测进行了大量的研究,有了一些相对成熟的检测算法,如Robert梯度算子、Sobel算子、Canny算子、Laplace算子等。然而,与灰度图像相比,有更多的颜色信息包含在彩色图像中,其中有90%的边缘是相同的,有10%的边缘是检测不到的,这就表明更适合人眼从图像中识别背景和目标的不是亮度而是色差[3]。因此,彩色图像的边缘检测越来越受到重视,人们已经提出了一些相关的算法,如基于颜色空间扩展经典算子、基于数学形态学算法等,但是效果都不是很理想,而且不具有普适性。

本文在RGB颜色空间中对图像进行边缘检测,提出了一种基于立方体相似度的边缘检测算法,该算法把检测图像的边缘转化到检测立方体差别的变化上,算法实现起来简单,图像的边缘能更清晰的被检测到。从实验结果可以得出,该算法可以更真实地检测到图像的边缘,具有较好的连续性和实用性。

1 颜色空间

1.1 基本概念

我们常常使用颜色空间指明、产生颜色,它可以理解为用数学方法去描述颜色。例如,基于红、绿和蓝三种颜色的磷光体发光量表述的颜色,常用于显示屏幕;基于青、品红、黄和黑四种颜色的

反射量和吸收量定义的颜色,常用于彩色印刷;基于色调、饱和度和亮度产生的颜色,比较符合人的视觉感受。

虽说不同的颜色空间可以用于不同的场合,但由于空间中的彩色信息都可以分解为三个基本的特征量,所以常用三维模型来表示颜色空间。在这个模型中,每一个点都与颜色一一对应。这也表明每一种颜色都与模型中的某个点相对应,反之,模型中的每一个点都代表一种颜色[4]。

1.2 颜色空间分类

从不同的分类角度出发,颜色空间的分类也有所不同。

从技术上进行划分,颜色空间可以分为如下三种类型[5]:

(1) RGB颜色空间。该颜色空间在电视机及显示器的颜色显示系统上应用最为广泛。例如RGB、HSV、HSL和HIS等颜色空间。在印刷技术和显示技术中,颜色空间常常也称作颜色模型(color mode)。在颜色表示上通常用“颜色空间”进行描述,而在颜色合成上则常常使用“颜色模型”来描述。

(2) CIE和XYZ颜色空间。国际照明委员会对该类空间进行了定义,通常作为度量颜色的基本方法,是颜色空间的标准。在科学计算中该类颜色空间被广泛的应用,它主要采用与设备无关的颜色表示法。这类颜色空间可以作为两种不能直接转换的颜色空间的过滤。

(3)电视系统和YUV颜色空间。该类颜色空间压缩了色度信息,从而能够有效快速地播送电视的彩色图像。

从人眼对颜色的感知进行划分,颜色空间又可以分为如下三种类型[5]:

(1)混合颜色空间。即按照一定比例把三种基色通过某种通道合成颜色。例如,XYZ、CMY和RGB等颜色空间。

(2)非线性色度和亮度颜色空间。对于色彩的感知是用两个独立的分量来表示,对于非色彩的感知则是利用剩余的一个分量来表示。而对于黑白图像,只要使用一个分量就能完全表示出来了。

(3)色调、强度和饱和度颜色空间。对于色彩的感知使用色调和饱和度进行描述,可使对亮度影响的消除更有效,而且可以更直观的解释颜色。

从分量贡献角度进行划分,颜色空间可以分为如下三种类型[5]:

(1)加法型。

(2)减法型。

(3)混合型。

2 基于立方体形相似度的边缘检测

2.1 选取颜色空间

RGB(Red,Green,Blue)颜色空间是一种通过红、绿、蓝三种基本颜色相加来产生各种颜色的最为常见的颜色空间[6]。它在数字图像处理中,是最为常用的,例如BMP真彩色图像的表示方法就是分别存储红、绿、蓝三种颜色分量[7]。由于RGB彩色空间所具有的设备独立性,它被广泛应用于彩色电视机和荧光屏上。在RGB空间中,依据三基色原理,任意饱和度的色光和色调的获得都可以通过调整R、G、B三种基本颜色各自的强度比例[8]:

F=r [R]+g[G]+b[B]

(1)

其中,F用于表示某一种色光,一表示匹配,[R]、[G]、[B]分别表示三基色,r、g、b表示三基色各自强度比例的系数,并且其满足条件:r+g+b=1[8]。

在RGB颜色空间中,可以直接通过边缘检测获得一种基本上满足最优效果的边缘信息[9],所以我们直接选取了RGB空间,这样能够减去图像彩色空间的转换过程,避免了转换中图像中的某些信息有误差或者造成丢失,同时,也减化了计算量,提高了准确度。

2.2边缘检测原理

对于人眼来说,可以通过颜色的变化,来识别图像的边缘。然而对于计算机,颜色变化这一概念却非常抽象,所以不会像人眼那样很容易的识别出不同颜色的边缘。本文把图像中每个像素点都构成一个立方體,像素点的三个颜色分量R、G、B分别对应所构成立方体的长、宽、高。如果像素点的颜色发生改变,那么所构造的立方体的形状也会随之改变,即建立了立方体形状和颜色的关联。这样就可以通过对比立方体的形状来识别图像的边缘,把抽象化的概念转到了可以量化的概念上。

如图1所示,其中,立方体A的长、宽、高分别为60、60、60,那么构成该立方体像素点的R=60,G=60,B= 60;立方体B的长、宽、高分别为200、200、200,那么构成该立方体像素点的R=200,G=200,B=200。可以看出,如果立方体的形状发生了变化,那么颜色也会随着改变,而颜色变化的根本原因就是R、G、B的值在改变,这也是立方体形状变化的实质。

对于由R、G、B三个分量构成的立方体,大致有以下三种情况:

(1)相邻像素点构成的立方体的体积具有很大差别;

(2)体积差别较小,但立方体的形状有很大差别;

(3)体积差别较小,立方体形状的差别也较小。

第一种,体积差别很大,是由于立方体的长、宽、高中某个或多个相差较大引起的,即颜色空间的三个分量R、G、B的值差别大,也就是像素点的颜色相差较大,图像中很可能存在边缘。

第二种,体积差别较小,立方体形状的差别也较小,说明立方体的长、宽、高中的值差别很大,同上描述,图像中也可能存在边缘。

第三种,体积差别较小,立方体形状的差别也较小,可以认为R、G、B三个分量值相近,即相邻像素属于同一区域,不存在边缘。

由此,可以通过以上三种情况判断两个像素之间颜色的差别,来检测图像中边缘的存在。

2.3 边缘检测步骤

1970年,Sobel提出了一种经典的边缘检测算子,该算子基于一阶导数,后来被简称为“Sobel算子”。由于该算子具有计算速度快,检测的边缘较连续、光滑等特点,所以被广泛的应用于众多的领域[10]。Sobel算子依据在边缘点处灰度达到极值的原理,利用像素的上、下、左、右四个邻域的灰度加权的算法进行边缘检测[11]。在本文中,为了提高算法的精确性,对Sobel算子进行了改进,该方法在kirsch算子的启发下,将Sobel算子的模板扩展为八个方向,从而能够更有效地从多个方向进行提取,同时也更加完整的获取到了边缘。模板如下:

基于前面的检测原理,具体步骤如下:

(1)遍历原彩色图像中所有像素点,提取每个像素点的三个颜色分量R、G、B,从而获得三个颜色分量所对应的长方体的长、宽、高。

(2)根据长方体体积的计算公式,由长方体的长、宽、高,可以计算其体积V,再由上面的8个Sobel算子计算出梯度体积Vl至V8。

以第一个算子为例,某彩色图像中某个像素点(i,j)的梯度体积Vl的定义公式:

(3)如果Vl至V8其中之一大于闯值(阈值取平均值的k倍),则认为(i,j)为边缘点。

(4)若两个像素点体积相同时,就需要比较R、G、B三个分量了,如果有一个分量差异悬殊,则也认为其为边缘点。

其中,要根据图像的不同调整K的取值,在图像中,如果边缘比较复杂的,要选取相对较低的阈值,那么K的取值也要较小,相反,在图像中,如果边缘比较稀少的,要选取相对较高的阈值,那么K的取值也要较大。

2.4 细化边缘

由于采用上述方法获得的边缘比较粗略,本文采用了Prewitt算子细化方法对检测后的结果进行了细化,这样不但能够突出形状的特征而且可以减少冗余的信息量[12]。

3 实验结果

图2中的(b)、(c)、(d)是分别通过本文方法、Prewitt算子和Sobel算子对某彩色图像(即图2(a》进行边缘检测后的结果。从实验的结果可以得出,本文的算法充分的利用了图像的颜色特征,与传统的边缘检测算子相比,使原彩色图像的轮廓信息得到更加完整的保留,从而有效的检测出图像的边缘[13]。

4 结束语

综上所述,提出的利用基于立方体相似度的算法检测彩色图像的边缘,实际上是先利用R、G、B三个颜色分量把图像中的边缘从其它像素中区分开来,然后再通过本文提出的一种改进的八个方向Sobel算子进一步的检测,这样做的好处是,使检测的结果更完整,而且,用这种算法在检测的过程中可以把抽象的问题具体化,从而具有高效的实用性。

在本文算法研究的基础之上,仍需进一步深入研究的是在体积相同的情况下,如何对像素点的颜色分量进行区分。

参考文献

[1]张海波,孙辉,朱兴华,基于矢量运算的彩色图像边缘检测算法[J].西华大学学报:自然科学版,2013,32(6):1-4.

[2] 王发乃,彩色图像边缘检测技术的研究[D].长沙:湖南师范大学硕士论文,2012.

[3] ZENG J,LI D H. Color image edge detection method usingVTV denoising and color difference [J]. Optik InternalJournal for Light and Election Optics,2012,123(22): 2072-2075.

[4]章三妹,曾敬,基于动态阈值的彩色图像边缘检测方法[J].电脑学习.2010,6(3):145-146.

[5] 韩君君,彩色图像边缘检测算法研究[D].曲阜:曲阜师范大学硕士论文.2009.

[6]谢妍梅,樊臻,张森林,基于HSI颜色空间的彩色图像边缘检测[J].计算机工程.2013,39(9):13 -14,19.

[7]CHU J,MIAO J,ZHANG G M,et al. Edge and corner detertion by color invariants[J]. Optics and Laser Technology,2013,45(2):756-762.

[8] JUNG J H,GOTTLIEB S,KIM S O.Iterative adaptive RBFmethods for detection of, edges in two-dimensional functions[J]. Applied Numerical Mathematics, 2011,61 (1) ,77-91.

[9]程欣,赵景秀.基于颜色三角形信息量的彩色图像边缘检测[J].计算机工程与应用.2014,50(10):152-155.

[10] 王益艳,鲁棒的形态学彩色图像边缘检测算法[J].计算机工程与应用.2013,49(6):12-15.

[11]陈帅,马钱,史海波,一种基于灰度与色调联合预测的彩色图像边缘检测方法[J].仪器仪表学报,2011,32(6): 172 -175.

[12] 邵晓鵬,钟宬,王杨,等,一种简化PCNN模型在彩色图像边缘检测上的应用[J].西安电子科技大学学报:自然科学版.2012,39(6):1-9.

[13] 毛若羽,陈相宁,一种基于形态学的有噪彩色图像边缘检测方法[J].计算机与现代化,2012,28(10):82-84.

猜你喜欢
边缘检测
基于数学形态学的一种改进CO2焊熔池图像边缘检测算法
离散过程神经网络和CGA相融合的边缘检测
基于图像的物体尺寸测量算法研究
唐卡图像边缘提取
水下大坝裂缝图像分割方法研究 
基于多算法融合的多车牌定位方法研究
基于高精度星敏感器的星图降噪研究
基于灰度的图像边缘检测与匹配算法的研究
基于TMS320的跑道异物监测系统
基于边缘检测和色彩空间的混合车牌定位算法