自适应阈值Canny边缘检测算法研究

时间:2022-05-27 09:18:21

自适应阈值Canny边缘检测算法研究

摘 要:对Canny边缘检测算法进行了对比研究,分析了传统Canny算法存在的缺陷,提出了一种改进的自适应阈值canny边缘检测算法。首先利用具有边缘保留功能的双边滤波器滤除噪声,然后运用基于梯度幅值的类间方差最大化算法 (OSTU) 来确定Canny算子的高低阈值,最后进行边缘检测与连接。实验结果表明,该改进算法很好地解决了传统Canny算法存在的缺陷,而且对光照的变化和场景变化具有很强的自适应能力,进一步扩展了Canny算法的应用范围。

关键词关键词:Canny算子;自适应阈值;边缘检测;双边滤波

中图分类号:TP312 文献标识码:A 文章编号文章编号:16727800(2013)008006202

0 引言

边缘检测是图像分析与计算机视觉领域一直研究的热点,传统的边缘检测算子如Roberts、Sobel、Prewitt、Kirsch、LOG、Canny等,由于算法自身存在着种种不足,在实际应用中效果并不十分理想。1986年,John Canny提出了最佳边缘检测算子的3个准则,并推导出了一个最优边缘检测算子的近似实现——Canny算法[1]。Canny算子具有比较好的检测效果,并得到了广泛的应用,但是在应用Canny进行边缘检测时,一方面,应用高斯滤波器对原图像进行滤波后,在一定程度上对噪声起到了抑制作用,却也对图像的边缘信息进行了平滑,使得边缘信息丢失;另一方面,在进行边缘点的选取时,需要人工设定高低两个阈值,当光照或场景发生变化时,需要人工来改变此双阈值,这使得Canny算法不具有自适应性。

针对Canny算法存在的上述问题,许多学者提出了自己的改进算法。针对采用高斯滤波器可能造成原图像的边缘信息丢失问题,文献[2]提出采用中值滤波代替高斯平滑滤波,并对混有椒盐噪声的图像进行处理,取得了比较好的效果;文献[3]提出自适应空间域平滑方式清除图像的椒盐噪声,达到了较好的去噪效果。另外,针对双阈值设定方面,文献[4]提出了基于梯度幅值直方图和类内方差最小化自适应高低阈值的方法,针对不同的图像实现双阈值自适应提取,并证明了其算法的有效性;文献[3]提出用图像的灰度共生矩阵的惯性矩阵特征值自适应调整高斯函数的空间系数和边缘检测阈值,实现了图像的边缘提取,但对条件的限制比较苛刻。针对Canny算法存在的问题,文献[2-5]在一定条件和一定程度上解决了传统Canny算子在平滑过程中丢失边缘信息的问题或双阈值自适应确定的问题,但还有待于进一步提高和完善。

1 传统Canny算法

1.1 Canny算法的实现

在文献[1]中,John Canny认为一个最优的边缘检测算子应该满足以下的3个准则:

(1)信噪比最大化准则,即不漏检真实的边缘,也要减少将非边缘点判为边缘点输出,这个准则使输出的边缘信息信噪比最大化。

(2)定位性能最优准则,即检测出来的边缘点要尽可能地接近真实边缘的位置。

(3)边缘响应准则,即单一的边缘只有唯一的响应,并且对虚假的边缘响应予以最大的抑制。

在图像的边缘检测中,抑制噪声和边缘检测是无法同时满足的,边缘检测算子通过平滑滤波滤除噪声的同时也增加了边缘的不确定性;反之,提高边缘检测算子对边缘敏感性的同时,也提高了对噪声的敏感性。Canny算子在抗噪与精确定位间寻求了一种折中方案[2],推导出了最优边缘检测算子的一个近似实现,即边界点位于图像被高斯函数平滑后的梯度幅值极大点上。

1.2 Canny算法的缺陷分析

传统Canny算子虽然是基于最优化思想推导出来的边缘检测算子,但在实际应用中不一定最优。该算子采用高斯滤波器对图像进行平滑处理,在具有较强噪声抑制能力的同时,也将一些高频的边缘给平滑掉了,造成了边缘信息的丢失。另外,Canny算子的高、低阈值是由人工设定的,且需要依据先验经验,进行多次反复试验才能找到合适的值。实际的图像可能受光照、场景等变化因素的影响,高低阈值是变化的,Canny算子不具有自适应性,在很多情况下难以得到比较满意的检测结果。

2 改进的Canny算法

2.1 双边滤波

传统的Canny算法采用高斯滤波器对原图像进行平滑处理,在抑制噪声的同时,也平滑了图像的边缘信息。1998年,C.Tomasi和R.Manduchi提出了双边滤波。双边滤波在处理相邻各像素的灰度时,不仅考虑了空间的邻近关系,也考虑了灰度的相似关系,通过对二者的非线性组合,自适应滤波得到平滑图像。双边滤波的特点是对图像的每一点用其空间相邻其灰度相近的像素平均值代替原来的值,从而达到滤波效果。在图像变换平缓的区域,一个小的邻域内图像的灰度变化不大,近似为常数,这时双边滤波就转化为标准的低通空域滤波器。而在图像变化剧烈的区域,滤波器用边缘点邻域内灰度相似的像素点的灰度平均值代替原来的灰度值[6]。双边滤波既可以达到滤波的效果,又可以保持图像边缘的细节,是一种很有应用价值的滤波方法。

2.2 OTSU自适应确定阈值

OTSU是一种使类间方差最大的自动确定阈值的方法。其基本思想是根据图像灰度特性,将图像像素分为背景和前景两部分,使他们的类间方差最大,从而得到分割的最佳阈值。对于一幅M×N图像I(x,y),前景(即目标)和背景的分割阈值记作T,属于前景的像素点数占整幅图像的比例记为w1,其平均灰度u1;背景像素点数占整幅图像的比例为w2,其平均灰度为u2。图像的总平均灰度记为u,类间方差记为g,则有:

上一篇:只为听一句“挺好吃的”而咬牙坚持…… 下一篇:环境污染责任保险经营困境及环境影响评价的作...