第25卷第1期2006年2月兰州交通大学学报(自然科学版)JournalofLanzhouJiaotongUniversity(NaturalSciences)Vol.25No.1Feb.2006
文章编号:10014373(2006)01008605
基于边缘保持平滑滤波的Canny算子边缘检测*
陈宏希
(兰州石化职业技术学院电子电气工程系,甘肃兰州730060)
摘要:在Canny算子实施边缘检测前,运用具有边缘保持性能的滤波器做预处理.仿真实验主、客观分析表明,边
缘保持滤波预处理的Canny算子较原有Canny算子在边缘检测性能方面有一定的改善;边缘保持滤波器性能的定
量分析和比较,对预处理滤波器和Canny算子边缘检测参数的选择有一定的指导意义.
关键词:边缘检测;Canny算子;边缘保持平滑滤波;品质因数
中图分类号:TP391.41文献标识码:A
边缘检测是数字图像处理中的基本问题之一.
传统的边缘检测算子,由于对噪声很敏感,对实际图
像的处理效果并不理想.近二三十年来研究发展了
许多优秀的边缘检测算法或算子,如MarrHildreth
提出的最佳边缘检测算子、基于二维小波变换的边
缘检测算法、基于神经网络及数学形态学的边缘检
测算法[1]、基于仿射变换和特征空间的边缘检测[2]
以及基于函数的边缘检测算法[3]等.文献[4]提出
的最佳边缘检测算子Canny算子,以其在处理
受高斯白噪声污染图像方面的良好效果而成为其它
边缘检测算子性能优劣评价的标准.Canny算子在
图像边缘方向上是对称的,但在垂直于边缘方向上
是反对称的,所以,Canny算子对最急剧变化方向上
的边缘特别敏感,但在沿边缘方向上却是不敏感的,
即对屋顶状边缘不敏感,这势必影响Canny算子的
边缘检测性能.针对这一问题,本文提出在Canny
算子前先运用具有边缘保持性能的滤波器做平滑滤
波预处理,其后再运用Canny算子做边缘检测,可
改善Canny算子的边缘检测性能.
1Canny算子边缘检测
1.1Canny最佳边缘检测指标
Canny研究了最优边缘检测器所需要的特性,
给出了评价边缘检测性能优劣的3个指标[5,6]:
1)好的信噪比,即将非边缘点判为边缘点和将
边缘点判为非边缘点的概率都要低;2)好的定位性
能,即检测出的边缘点要尽可能在实际边缘的中心;3)对单一边缘仅有唯一响应,即单个边缘产生多个响
应的概率要低,并且虚假响应边界应得到最大抑制.
1.2Canny算子的具体实现
Canny算子的具体实现主要有以下3个步骤:
1)用高斯滤波器对图像进行滤波,去除图像中
的部分噪声;2)用高斯算子的一阶微分对图像进行
滤波,得到图像梯度的强度和方向[7];3)对梯度进
行非最大抑制和滞后阈值处理,得到边缘图像.
2常见边缘保持平滑滤波器
图像中的景物之所以可以被清楚辨认,是因为目
标物之间存在灰度显著变化的边界.而对边界上的像
素进行平滑滤波时,简单选取邻域的中值或均值,都
会在一定程度上降低边界的灰度显著性,从而导致图
像的模糊.因此,希望在对图像进行平滑处理时,只对
噪声部分进行平滑处理,同时又保持了图像边界原有
的灰度特性,这类滤波器被称为边缘保持平滑滤波
器.下面是几种常见的边缘保持平滑滤波器[5,8].
2.1方向平滑滤波器
方向平滑滤波技术是一种空间域局部方向均值
滤波器.在某一局部邻域内,沿不同的方向计算像素
的平均值,取最小的平均值替代原中心像素的值.方
向平滑滤波的原理如图1所示,用公式表示为
y(i,j)=min1N
(r,s)Wx(i-r,j-s)
式中:x(i,j)为像素点(i,j)的输入像素值;y(i,j)为
输出像素值;W为与水平方向成角的滤波器窗口;
*收稿日期:20050312作者简介:陈宏希(1970),男,陕西岐山人,讲师,硕士.第1期陈宏希:基于边缘保持平滑滤波的Canny算子边缘检测
N为滤波器窗口中参与计算平均值的像素个数.
图1方向平滑滤波原理图
Fig.1Principleofdirectionalsmoothfilter
2.2Kuwahara滤波器
Kuwahara滤波器的滤波思想是,选择如图2所
示4个模板,对模板覆盖区域中的像素,分别计算其
灰度分布方差,然后用方差最小的模板中像素灰度
均值替代原中心像素值.实现步骤如下:
图2Kuwahara滤波器的4个模板
Fig.2FourKuwaharafiltermasks1)以中心像素为中心,分别计算图2所示4个
模板中像素灰度分布的方差;2)找出方差值最小的
模板的位置;3)将所选择出的模板中像素的灰度平
均值替代原中心像素值;4)对图像中所有处于滤波
范围内的像素点均进行相同的处理.
2.3灰度最小方差均值滤波器
灰度最小方差均值滤波器的滤波思想与Kuwahara
滤波器相同,不同的是它有9个形状不同的模板参
与灰度最小方差模板的选择.模板如图3所示.
图3灰度最小方差滤波器的9个模板
Fig.3NineMVMfiltermasks2.4K近邻均值滤波器
K近邻均值滤波器的核心是,在一个与待处理中心像素邻近的范围内,寻找出像素值与之最接近
的K个邻点,将该K个邻点的均值替代原中心像素
值.实现步骤如下:
1)设f(x,y)为当前待处理中心像素,以其为
中心,构造一个NN的模板(N为奇数);2)在模
板中的NN个像素中,选择出与f(x,y)之最接近
的K个像素(一般当N=3时,取K=5;当N=5
时,取K=9),这K个像素不包含f(x,y)本身;3)
用这K个像素的均值替代原中心像素值f(x,y);
4)对图像中所有处于滤波范围内的像素点均进行
相同的处理.
2.5对称近邻均值滤波器
对称近邻均值滤波器的实现思想是,以待处理像
素f(x,y)为中心,构造一个(2N+1)(2N+1)的
模板,这(2N+1)(2N+1)个像素,除中心点之外,
以中心像素点为对称中心,可以构成2N(2N-1)
个空间位置对称的对点,在每一对对称点中选择一个
与f(x,y)接近的像素值,用这2N(2N-1)个选择
点的灰度均值替代原中心像素值作为处理结果.
2.6Sigma平滑滤波器
Sigma平滑滤波器是根据模板中像素值的统计
特性来进行边缘保持滤波的.实现方法如下:
1)以待处理像素f(x,y)为中心,构造一个
(2N+1)(2N+1)的模板(N为给定常数);2)计
算该模板中像素的标准方差;3)对模板中的像素
进行如下处理:若f(i,j)-f(x,y)f(i,j)+
,则(i,j)=1;否则(i,j)=0;其中f(x,y)为模
板中心像素的灰度值,f(i,j)是像素点(i,j)上的
灰度值,且=2;4)若模板中(i,j)=1的像素不
少于K个,则f(x,y)的值由g(x,y)替代,
g(x,y)=x+N
i=x-Ny+N
j=y-N(i,j)f(i,j)
x+N
i=x-Ny+N
j=y-N(i,j),对于77的模
板,K不大于4,对于55的模板,K不大于3;
5)若模板中(i,j)=1的像素少于K个,则表
明在该模板中,f(x,y)是一个孤立点,恰好满足噪
声的特征,则以整个模板中像素的均值替代中心像
素f(x,y)的值.
3边缘检测算子的性能评价
边缘检测算子性能优劣的评价分为主观评价和
客观评价.主观评价是观察者通过对各种算子处理
结果图像的观察,主观做出算子性能优劣的评价;客87兰州交通大学学报(自然科学版)第25卷
观评价是以人造图像为对象,获取边缘检测器的边
缘检测概率、边缘检测方位、边缘检测定位等性质数
据,依此来评价边缘检测器性能的优劣.Pratt[1]提
出的边缘检测器品质因数,是普遍采用的边缘检测
器性能评价指标,其定义式为
R=1max{II,IA}IA
i=111+ad2
式中,II和IA分别表示理想和实际检测到的边缘像
素点的数量,a是一比例常数,通常取1/9,d为实际
边缘点到理想边缘点连线的垂直距离.品质因数R
的值是小于或等于1的正数,R值越大,表明检测器
性能越好,当完全精确检测时R=1.
4实验结果及定量分析
为了以下叙述方便,特做如下名称约定:未做滤波预处理的Canny算子边缘检测命名为Canny算
子;方向平滑滤波预处理的Canny算子边缘检测命
名为Directional;Kuwahara平滑滤波预处理的
Canny算子边缘检测命名为Kuwahara;灰度最小方
差均值滤波预处理的Canny算子边缘检测命名为
MVM;K近邻均值滤波预处理的Canny算子边缘检
测命名为KNN;对称近邻均值滤波预处理的Canny
算子边缘检测命名为SNN;Sigma平滑滤波预处理
的Canny算子边缘检测命名为Sigma.
4.1试验结果
对人造测试板图像和标准Lena灰度图像,在无
噪声和加高斯白噪声情况下,分别依次做Canny算
子,Directional,Kuwahara,MVM,KNN,SNN,Sigma
边缘检测.无噪声时实验结果如图4,图5所示.
图4人造测试板原始图像及用不同方法处理后的边缘图像
Fig.4Synthetictestboardoriginalimageandedgemapsprocessedbyeverymethod
图5Lena原始图像及用不同方法处理后的边缘图像
Fig.5Lenaoriginalimageandedgemapsprocessedbyeverymethod88