卞桂平,秦益霖
(1.江苏科技大学 电子信息学院,江苏 镇江212003;2.常州旅游商贸高等职业技术学校 江苏 常州213032)
基于Canny算法的自适应边缘检测方法
卞桂平1,秦益霖2
(1.江苏科技大学 电子信息学院,江苏 镇江212003;2.常州旅游商贸高等职业技术学校 江苏 常州213032)
图像边缘检测是数字图像处理的重要组成部分。传统的Canny边缘检测算子存在高斯滤波函数方差和阈值选取上的缺陷,本文提出了一种基于改进canny算子的图像边缘检测算法。首先运用复合形态学滤波取代高斯滤波,然后运用Otsu算法进行高低双阈值的自适应选取;最后连接边缘并运用数学形态学对边缘进行细化。实验结果表明,改进算法具有良好的抗噪性能和较好的检测效果。
边缘检测;Canny算子;形态学;Otsu法;边缘细化
图像边缘是计算机理解图像的重要特征之一。在数字图像中,边缘就是相邻的具有显著不同特征区域间的分界线。在机器视觉领域,对边缘检测算法进行了深入的研究,得到了各种针对不同领域图像的算法。通常将图像边缘划分为阶跃型和屋顶型两种类型;阶跃型边缘两边的灰度值有很大的差别;屋顶型边缘存在于灰度值从增加到逐渐减少的变化转折点上[1];边缘检测的经典算法有Roberts算子、Prewitt算子、Sobel算子、Laplace算子、LOG算子等[2],这些经典算法原理简单,易于运行,但抗躁性能差,提取的边缘粗糙。传统Canny算法将边缘检测问题转化为求取图像梯度函数极大值的问题,该算法能够满足最优准则的边缘检测算法,传统Canny算法具有定位精度高、边缘检测准确等优点,在不同领域都得到了广泛的应用。在传统Canny算法中,高斯滤波器sigma值、高低分割阈值都需要人为经验设定。本文针对以上提出的缺点,将复合形态学滤波算法和Otsu算子引入到传统Canny算法中,最终利用形态学细化算子实现细化边缘。
1.1 高斯滤波平滑图像
Canny算法的第一步是采用二维高斯函数的一阶导数对图像进行平滑[3],是对信噪比与定位精度乘积的最优逼近算子。
设二维高斯函数为:
其梯度矢量为:
为减少计算量,一般将梯度矢量分解为2个一维行列滤波器:
其中,k为常数,σ为高斯滤波器尺度参数,σ的取值决定图像的平滑程度,滤波器的参数σ取值越小,图像边缘定位的精度越高,但信噪比也随之下降;参数σ取值越大,情况与之相反,因而σ的合理取值是图像边缘精度和信噪比平衡的关键因素。
1.2 梯度计算
传统Canny算法采用2×2邻域一阶偏导的有限差分来计算滤波后的图像I(x,y)的梯度幅值和梯度方向。设x和y方向的偏导数Px[x,y],Py[x,y]如下:
梯度幅值:
梯度方向角:
1.3 非极大值抑制
为了得到定位精确和细化的边缘,必须对梯度图像进行非极大值抑制,其实质就是只保留幅值局部变化最大的点,这一过程就是非极大值抑制。在非极大值抑制过程中,使用3×3大小,包含8方向的邻域对梯度幅值阵列M[i,j]的所有像素沿梯度方向进行梯度幅值的插值。在每一个像素点上,比较邻域的中心像素与沿梯度方向的两个梯度幅值的插值结果的大小,找出局部极大值点,并保留幅值局部极大值点,删除局部非极大值点。这一过程把M[i,j]细化为单像宽。非极大值抑制 (non-maxima suppression,NMS)过程的数学表示为:
其中,Y[i,j]是像素邻域中心点沿梯度方向的扇形区域。
1.4 双阈值判决和连接边缘
经过非极大值处理的图像,还需使用高低阈值Hthres和Lthres进行分割,得到2个阈值边缘图像TH[i,j]和TL[i,j],TH[i,j]即强像素边缘图像含有较少的假边缘,但有较多的间断,TL[i,j]即弱像素边缘图像保留的边缘信息比较全面,但含有较多的假边缘。为使得到的TH[i,j]边缘达到连续的效果,在TL[i,j]边缘的 8邻域位置寻找可以连接到TH[i,j]的边缘,利用递归跟踪算法 不断的在TL[i,j]中搜索边缘,直到将TH[i,j]中所有的间隙连接起来。
1.5 传统Canny算法的缺陷
传统Canny算法在实际工程应用中优于其他的经典边缘检测算法,但同时也存在一些缺陷:
1)高斯平滑滤波器的平滑参数σ需要人工设定并单一化,σ值的大小往往会影响平滑的效果,自适应性能差。
2)传统Canny算法采用2×2邻域一阶偏导的有限差分来计算梯度幅值和梯度方向,定位比较准确,但对噪声敏感,容易出现假边缘,丢失一些真实边缘。
3)传统Canny算法的高、低阈值需要人工选取,人工选取的阈值往往不能得到效果较好的边缘,也很难兼顾到连续边缘与去除虚假边缘的要求,因此自适性差,自动化程度低。
针对以上几点缺陷的分析,本文对传统Canny算法进行相应地改进。
2.1 复合数学形态学滤波
基于数学形态学的图像滤波的关键是:1)利用形态学基本算子构造出形态学滤波算子;2)选取合适的结构元素,合适的结构元素是解决边缘检测精度和抗噪性能之间矛盾的关键。
基本形态学算子实际上是一种非线性算子,利用数学形态学平滑图像的实质就是进行先闭后开运算;设C为平滑后的图像,两种常用的形态学滤波算子可表示为:
将上述的两种常用的形态学滤波算子结合起来,构造出一种改进的复合数学形态学滤波器,文中采用结合式(10)(11)可得改进的复合形态学滤波器为[4-6]:
2.2 梯度幅值算法的改进
传统Canny算法的梯度幅值计算方法,对边缘的定位较好,但当图像中噪声比较明显时,去噪效果不佳。文中采用一种基于计算8邻域内x方向、y方向、135°、45°方向一阶导数有限差分来确定像素梯度幅度的方法,这中方法兼顾了定位精度和抗噪的要求[7],具体算法如下:
1)x、y、135°、45°方向偏导数分别为:
2)计算图像梯度幅值和梯度方向。
梯度幅值:
梯度方向角:
2.3 改进的Otsu自适应设定阈值
最大类间方差法于1980年提出,该法以灰度直方图为依据,将前景和背景的类间方差最大时的灰度值作为分割阈值,该法能够实现阈值计算的便捷、高效,在实际工程应用中有着广泛的使用价值。其基本思路是:将灰度直方图在某一灰度处分成两组,此时图像被分为两个区域,当被分割的两区域方差达最大时,被认为是两区域的最佳分离状态,选择该灰度值作为分割阈值,使得这两区域真正达到了“物以类聚”的效果,此方法可以扩展到多区域的多阈值选取。最大类间方差法算法简单、自适应强,在众多的图像阈值选取算法中有着不可替代的位置。
设经过非极大值抑制后的灰度范围为[0,L-1],图像像素总数N,灰度级i对应的像素数目为Ni,其概率为:Pi=Ni/N,用阈值T将图像像素按灰度值分为背景类和前景类C1={T+1,L-1},Otsu算法选择最大
2.4 形态学细化边缘
图像经过非极大值抑制可以得到比较精细的边缘,但达不到单像素级的边缘,为了达到单像素级,文中引入形态学算子对边缘进行细化处理[11-16]。
形态学细化边缘的算法步骤是:保证中轴线位于图像边缘的中心,确保边缘连通性、轮廓特征和方向性不变的前提下,对图像边缘不断地细化,最终得到像素宽度为1的边缘。
由以上分析可知,改进Canny算子的步骤如下:
Step1运用改进的复合形态学滤波器对代替高斯滤波,对原图像进行平滑滤波,以减少噪声的响应;
Step2用求得的x方向、y方向、135°、45°方向一阶导数有限差分计算梯度幅值和方向;
Step3对梯度幅值进行非极大值抑制,删除非极大值点,保留局部梯度极大值;
Step4用最大类间算法计算自适应阈值T,自动设定改进Canny算子的高低阈值;
Step5进行双阈值判决,连接并使用形态学细化算子细化边缘。
文中选用lena、camerman和eagle灰度图像进行实验。使用传统的Canny算法和本文改进的Canny算法对lena图像、camerman图像和eagle图像分别进行边缘检测,实验结果如图1~图3所示。
图1 lena图像实验结果
图2 camerman图像实验结果
图3 eagle图像实验结果
从以上实验结果来看,文中采用复合形态学平滑图像得到了较好的平滑效果;本文通过计算像素8邻域内4个方向一阶偏导数有限差分的方法来确定梯度幅值,在保证检测精度的同时,大大降低了噪声的影响。传统的Canny算子采用人工设定或选择梯度直方图谷值的办法确定高低阈值,对于背景变化较大的图像,传统Canny检测出较多的伪边缘,本文采用最大类间法自适应选取阈值,有效地将背景和前景作为两个大类进行了更好的分割并较好的检测图像中的细节。从以上实验结果可以得出,本文算法检测的图像边缘受噪声影响较小,定位准确,边缘细化效果较好。
文中在传统Canny算法的基础上,用复合形态学滤波器代替高斯滤波器;在图像梯度计算上进行了一定的改进,实验中,取得了较好的效果;在高低阈值的选取上,文中采用效果优良的最大类间方差法自适应选取高低阈值;在边缘细化方面,采用形态学细化算法细化边缘,最终得到本文改进的Canny算法。通过实验表明,改进后的Canny算法比较于传统Canny算法,有较好的优化效果,具有一定的工程应用价值。虽然改进的Canny算法检测效果优于Roberts、Sobel等简单的边缘检测算子,但没有能够降低算法的复杂度,形态学算子的处理速度较慢,这都需要以后的进一步研究。
[1]QiaogangXu,Jinhui,Yu.A Decision Function Method for Boundary Detection,Computer Graphics and Image Processing,2001,3(2):125-140.
[2]曾俊.图像边缘检测技术及其应用研究[D].武汉:华中科技大学,2011.
[3]谢凤英.数字图像处理及应用[M].北京:电子工业出版社,2014.
[4]王慧锋,战桂礼,罗晓明.基于数学形态学的边缘检测算法研究及应用[J].计算机工程与应用,2009,45(9):223-225.
[5]Canny J.A computational approach to edge detection [J].IEEE Trans on PAMI,1986,8(6):679-698.
[6]Maragos P.Differential morphology and image processing [J].IEEE Trans Image Processing,1996,5(6):922-937.
[7]王植,贺赛先.一种基于Canny理论的自适应边缘检测方法[J].中国图像图形学报,2004,9(8):957-962.
[8]韩慧妍.形态学和OSTU方法在Canny边缘检测算子中的应用[J].微电子学与计算机,2012,29(2):146-149.
[9]张志顺,奚建清,刘勇.基于改进Canny算子的CT图像边缘检测[J].微电子学与计算机,2013,30(9):9-12.
[10]徐琳俊,陈红卫.数字图像分割算法研究[D].镇江:江苏科技大学,2011.
[11]蒋东升,李讯波.基于数学形态学的边缘检测算法研究[D].成都:电子科技大学,2012.
[12]Shi S,Qu S R,Zhang D Q.Improving Otsu's method of maximum between-cluster variance for infrared target extraction [J]. Journal of Northwestern Polytechnical University, 2010,28(2):259-263.
[13]Ostu.A threshold selection method from graylevel histogram[J].IEEE.Transactions on Systems,1979,9(1):62-66.
[14]GonzalezR C, WoodsR E.DigitalImage Processing.3rd.ed.[M].Addison-Wesley,1992.
[15]柳浪涛,谷林,宋耀艳,等.家具定制系统中基于视觉效果的边缘检测方法[J].西安工程大学学报,2016(3):369-374.
[16]拓小明,李云红,刘旭,等.基于Canny算子与阈值分割的边缘检测算法[J].西安工程大学学报,2014(6):745-749.
An adaptive edge-detection method based on Canny algorithm
BIAN Gui-ping1,QIN Yi-lin2
(1.Depart.of Electronics and Technology,Jiangsu University of Science and Technology,Zhenjiang 212003,China;2.Changzhou Technical Institute of Tourism&Commerce,Changzhou 213032,China)
Image edge detection is an important part of digital image processing.The traditional Canny edge method without the adaptive ability in the variance of Gaussian filtering and threshold,this paper proposes an image edge detection algorithm based on improved Canny operator.Firstly,this method uses compound morphology smoothing replaces Gaussian filtering;then this method uses the Otsu method to calculates the optimal high and low dual-threshold;finally,connecting edge and using the morphology to thinning the image detection edge.Experimental results prove that the improved algorithm has a good anti-noise function and a good detective performance.
edge detection;Canny operator;morphology;otsu method;edge thining
TN911.73
A
1674-6236(2017)10-0053-04
2016-03-18稿件编号:201603243
卞桂平(1989—),男,江苏盐城人,硕士研究生。研究方向:机器视觉、数字图像处理。