改进Canny 边缘检测算法研究
2015年4月16日 17:27 作者:焦圣喜 杨文明 王以纯 马 静 东北电力焦圣喜 杨文明 王以纯 马 静 东北电力大学 吉林 132012
【文章摘要】
提出了一种基于Canny 算子的图像边缘检测算法,采用最大类间方差法确定高低阈值。实验结果表明,该算法可减少干扰边缘和噪声的影响,处理效果明显。
【关键词】
Canny 算子;边缘检测;最大类间方差
0 概述
Canny 边缘检测算子在图像边缘检测中的应用非常广泛。然而传统的Canny 算子高低阈值是由人为设定的,这样因为人的主观意识难免会对图像的处理结果造成影响。而且在实际获取图像过程中会受到光照、杂散光以及其他噪声的干扰。对于不同的图像在边缘检测过程中如果使用同一阈值将很难达到理想的处理结果。传统的Canny 算法中的阈值是由人为设定的,阈值设置的不同,图像处理的结果也不同,要想得到较为理想的边缘图像, 需要研究人员进行大量的实验验证。阈值选取的过高,会出现丢失边缘的现象,阈值选取的过低,则可能造成虚假边缘的现象。针对边缘检测过程中出现的问题,本文提出了一种改进的canny 确定高低阈值的方法。基于梯度幅值直方图和类间方差最大法自适应确定高低阈值方法,该方法具有较强的自适应性,不需要人为设定任何参数,根据图像的特征自动确定阈值。实验结果表明该方法能够很好的提取图像边缘信息。
1 改进Canny 边缘检测算子
我们将Canny 算子中对梯度幅值进行非极大值抑制后的边缘图像划分为三个类别:第一类为非边缘类;第二类为判断是否为边缘的类;第三类为边缘类。设原图中总的像素数位,灰度梯度为对应的像素数位,其概率为。则整个区间的梯度幅值期望为:
发生在类内的梯度幅值期望分别为
并且定义
则可以定义评价函数为:
即
在一幅已知图像中可以通过求解其梯度直方图的方式求出,为梯度等级,通常我们将其设置为64,。因此上式可以看成是一个二元二次方程,当式子达到最大值时,我们就可以得到想要的高低阈值,其中k 在[1,l] 之间取值,在确定值后, m 在[k+1,l] 之间取值。如此搜索满足上式的取得最大值时的k 和m 即为我们想要得到的阈值。处理结果如下图。
2 结论
本文算法在Canny 算子的基础上,利用最大类间方法类计算最佳阈值。从实验结果可以看出该算法能够有效地去除不必要的细节干扰和噪声点。
【参考文献】
[1] 王庆香,孙炳达,李迪. 焊缝位置识别的的图像处理方法设计[J]. 焊接学报,2005,26(2) :59-63
[2]Pang Sung Liao.A Fast Algorithm for Multilevel Thresholding[J].Journal of Information Science and Engineering, 2011,17 :713-727
[3]John Canny. A Computational Approach to Edge Detection [J].IEEE Trans. Pattern Analysis and MachineIntelligen ce,1986,8(6):679-698
[4] 唐路路,王启灿,胡松. 一种自适应阈值的Canny 边缘检测算法[J]. 光电工程,2011,38(5) :127-132
[5] 徐德,李原. 基于示教与视觉纠偏的机器人自动焊接方法研究[J]. 机器人,2007,29(3) :256-260
【作者简介】
焦圣喜(1969--),男,汉,吉林省吉林市人,东北电力大学副教授,博士,主要从事机器人视觉及智能检测方面的研究工作。
杨文明(1988--),男,汉,吉林省永吉县人,东北电力大学研究生,主要从事视觉引导机器人自动焊接仿真研究。
马静(1989--),女,汉,山东省兖州市人,东北电力大学研究生,主要从事智能检测方面的研究。
边缘检测效果图040
实验研究
Experimental Research