基于Canny算子改进的图像边缘检测算法研究
- 格式:docx
- 大小:39.69 KB
- 文档页数:5
基于Canny算子改进的图像边缘检测算法研究
郭忠峰;唐晓晓;任仲伟;刘娅菲;匙皓
【摘 要】针对Canny算法的图像边缘检测技术,提出用中值滤波和均值滤波合成的混合滤波器代替传统高斯滤波器,加强了对复杂噪声的平滑降噪;在边缘连接细化中,采用基于Ostu提出的最大类间方差法的自适应阈值选择法,提高了效率和适应性.并进行MATLAB仿真,结果表明提出的改进算法明显提高了图像边缘检测的精度.
【期刊名称】《机械研究与应用》
【年(卷),期】2017(030)002
【总页数】3页(P123-125)
【关键词】Canny算法;中值滤波;均值滤波;图像边缘检测;边缘连接
【作 者】郭忠峰;唐晓晓;任仲伟;刘娅菲;匙皓
【作者单位】沈阳工业大学 机械工程学院,辽宁 沈阳 110870;沈阳工业大学 机械工程学院,辽宁 沈阳 110870;沈阳工业大学 机械工程学院,辽宁 沈阳 110870;贵州红林机械有限公司,贵州 贵阳 550009;沈阳工业大学 机械工程学院,辽宁 沈阳
110870
【正文语种】中 文
【中图分类】TP391
图像在生成和传输过程中常受到各方面因素的影响而产生噪声。图像中可能存在的噪声中脉冲噪声和高斯噪声是比较常见的噪声干扰。Canny算法用到的高斯滤波器对高斯噪声有过滤平滑效果,但过滤比较单一。而均值滤波器对高斯噪声的过滤效果更佳,中值滤波器对脉冲噪声降噪处理效果更佳[1]。笔者提出一种采用均值滤波和中值滤波的合成滤波的改进Canny算法。传统的Canny算法中对双阈值的选择是人为选定,局限于单个图像,缺乏普遍性。为提高效率和准确度,采用基于由Ostu提出的最大类间方差法的双阈值的自动选择法,实现对图像的边缘检测和连接。
Canny算子优于其他算法如Sobel、Roberts、Prewitt等算子,在信噪比、定位精度和单边响应等方面满足最优准则[2]。为使图像边缘处理检测达到更高精度,需要对图像处理过程进行改进优化。传统Canny算法是先采用高斯滤波函数对图像进行滤波平滑处理,得出去噪后灰度图像的梯度幅值和方向,再进行非极大抑制,最后采用高低阈值进行边缘提取和连接[3]。对Canny算法处理图像边缘过程进行改善以达到要求的定位精度和检测标准。对图像边缘提取的过程,主要包括图像预处理图像(平滑降噪)、边缘提取和边缘的连接[4]。如图1所示。
2.1 均值滤波及中值滤波
中值滤波是一种最常用的去除噪声的非线性平滑滤波处理方法,对滤波脉冲干扰非常有效。中值滤波的目的在于保护边缘图像的同时去除噪声。其算法的基本原理是:用一个有奇数点的滑动窗口,采用3×3邻域窗口,用窗口各点的中值代替窗口中心点的灰度值,中值滤波I(x,y)也可用数学表达式[3]定义为:
式中:IH(x,y)为各窗口内的像素灰度值,Median(IH (x,y))为序列IH(x,y)的中值。
均值滤波也称为线性滤波,其采用的主要方法为邻域平均法。其基本原理是用均值替代原图像中的各个像素值,即对待处理的当前像素点,选择一个模板,如采用3×3邻域窗口。模板由其近邻的若干像素组成,求模板中所有像素的均值,再把该均值赋予当前像素点,作为处理后图像在该点上的灰度[4-5]:
式中:s为模板,M为该模板中包含当前像素在内的像素总数。
2.2 混合滤波器算法 采用均值滤波和中值滤波结合成混合滤波器代替传统Canny高斯滤波器。混合算法的原理是将均值滤波器的中值作为滤波器的最终输出,从而提高算法的执行效率。原理如图2所示。
用子结构H1,H2,H3,…,HM,组成的均值中值混合滤波器定义为:
此处线性滤波器选用均值滤波器,即:
式中:g为输出图像;f为输入图像;H1,H2,H3,…,HM(M为奇数)是线性滤波器。选择子滤波器使得在噪声消除和根信号集合间取得一个可接受的妥协,并保持M足够小以简化计算[6]。
设{X(n1,n2)}(n1,n2∈z),z={…,-2,-1,0,1, 2,…}为数字图像。二维滤波窗口M大小为(2N+1) ×(2N+1),窗口内像素灰度用{X(n1+l1,n2+l2)|-N≤l1,l2≤N}表示。子集Mk(k=0,1,…,8N-1)定义为全方位滤波模板[7]:
Mk={X(n1+l1,n2+l2)|θ=k,-N≤l1,l2≤N},k= 0,1,…,8N-1,k=180/4N。其中θ为单位旋转角。取N=1时,3×3窗口内的全方位模板如图3所示。(M1~M8)分别对应于0,90,180,270,45,135,225, 315。
对以上模板分两种情况处理,即水平垂直方向(0,90,180,270)、对角方向(45)的子滤波器分别定义为Hs(x,y),Hd(x,y):
得出g(x,y)为滤波后输出图像。
3.1 非极大值抑制
为了获得更高的边缘检测精度,还需要对图像边缘进行细化。传统Canny法采用2×2邻域求有限差分来计算梯度幅值,文中则采用3×3邻域计算梯度幅值。
(1)计算当前像素的梯度方向θ;
(2)选择与θ相邻的两个像素的梯度方向,如果相差大于90°,他们不在同一边缘上,则此点灰度值为0。
(3)如果与θ相差小于90°,则在同一边缘,当该点像素梯度大于相邻像素梯度时,此点即为边缘点,保留该像素,否则值为0,即为非极大抑制[8]。
3.2 双阈值自动选取
传统的Canny算法的高低阈值由人工选定,再对边缘像素进行选取和连接,在此过程中人为误差较大,而且选定的阈值没有普遍性。在阈值选择上采用文献[9]中由Ostu提出的最大类间方差法。该方法是基于最小二乘法原理推导出的,具有统计意义上的最佳分割阈值[9]。
采用MATLAB2014a对该文中提到的算法进行仿真[10],如图4所示。图4(a)是加入椒盐噪声和高斯噪声的灰度图像;图4(b)和图4(c)图分别采用均值滤波和中值滤波处理的图像,可以看出对噪声的处理有效果但是还有残余;图4(d)是混合滤波器对噪声的过滤,可以看出去除噪声更多,图像更清晰,比比单一滤波器效果更好;图4(e)和图4(f)分别在均值滤波和中值滤波的基础上进行的边缘提取,跟文中提出的混合滤波边缘提取结果图4(g)比较,可以看出本文提出的改进滤波器处理后的边缘更加清晰,精度更高。
提出了一种基于Canny算子改进的图像边缘检测方法,该方法与传统的检测方法相比较,采用混合滤波更能消除噪声和保持图像的特性,采用阈值自动选择法更能增加普遍性和适应性,具有检测精度和效率更高等优点,具有非常好的应用价值。
【相关文献】
[1] 张 震,马驷良.一种改进的基于Canny算子的图像边缘提取算法[J].吉林大学学报,2007(2):36-39.
[2] 张 斌,贺赛先.基于Canny算子的边缘提取改善方法[J].红外技术,2006,28(3):165-169.
[3] Jung H W,Da L L.Improved Median Filter Using Minmax Algorithm for Image
Processing[J].Electronics Letters,1997,33(15): 65-70.
[4] 王科俊,熊新炎,任 帧.高效均值滤波算法[J].计算机应用研究,2010(2):434-438.
[5] 张 宇,王希勤,彭应宇.自适应中心加权的改进均值滤波算法[J].清华大学学报,39(9):76-78.
[6] 常瑞娜,穆晓敏,杨守义,等.基于中值的自适应均值滤波算法[J].计算机工程与设计,2008,29(16):4257-4259. [7] Chen Jie,Wang Zhenhua,Dou Lihua.Scale Adaptive Canny Edge Detection
Method[J].Opto-Electronic Engineering,2008,35(2): 79-84.
[8] 毛本清.自适应直方图均衡化算法在图像增强处理的应用[J].河北北方学院学报(自然科学版),2010(10):64-67.
[9] 王 磊,段会川.Otsu方法在多阈值图像分割中的应用[J].计算机工程与设计,2008,29(11):2844-2972.
[10] 曾 洁,张德营,贾世杰,等.基于边缘检测的焊缝图像自动识别算法[J].大连交通大学学报,2009,30(1):57-59.