最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

基于各向异性扩散方程的Canny边缘检测算法【计算机应用】

来源:动视网 责编:小OO 时间:2025-09-26 19:58:58
文档

基于各向异性扩散方程的Canny边缘检测算法【计算机应用】

基于各向异性扩散方程的Canny边缘检测算法张洁1,檀结庆2(1.合肥工业大学计算机与信息学院,合肥230009;2.合肥工业大学应用数学研究所,合肥230009)联系作者e-mail:jzhang_never@163.com摘要:Canny边缘检测算法由于使用高斯滤波对图像进行平滑,往往使得算法的信噪比和定位精度下降,从而产生一些虚假边缘,使角点变圆。本文针对Canny算法所出现的问题提出了一种改进方法,运用各向异性扩散方程代替高斯滤波,并对扩散后的图像做图像增强。实验结果表明,本文算法有效
推荐度:
导读基于各向异性扩散方程的Canny边缘检测算法张洁1,檀结庆2(1.合肥工业大学计算机与信息学院,合肥230009;2.合肥工业大学应用数学研究所,合肥230009)联系作者e-mail:jzhang_never@163.com摘要:Canny边缘检测算法由于使用高斯滤波对图像进行平滑,往往使得算法的信噪比和定位精度下降,从而产生一些虚假边缘,使角点变圆。本文针对Canny算法所出现的问题提出了一种改进方法,运用各向异性扩散方程代替高斯滤波,并对扩散后的图像做图像增强。实验结果表明,本文算法有效
基于各向异性扩散方程的Canny边缘检测算法 

                   张 洁1,檀结庆2

(1.合肥工业大学 计算机与信息学院,合肥 230009;

2.合肥工业大学 应用数学研究所,合肥 230009)

联系作者e-mail:jzhang_never@163.com

摘    要 :Canny边缘检测算法由于使用高斯滤波对图像进行平滑,往往使得算法的信噪比和定位精度下降,从而产生一些虚假边缘,使角点变圆。本文针对Canny算法所出现的问题提出了一种改进方法,运用各向异性扩散方程代替高斯滤波,并对扩散后的图像做图像增强。实验结果表明,本文算法有效地提高了边缘检测的准确性,得到了比较理想的边缘检测效果。

关 健 字 :边缘检测;Canny算法;高斯滤波;各向异性扩散方程;图像增强

中图分类号:TP751      文献标识码: A

            Canny Edge Detection Algorithm Based on Anisotropic Diffusion Equations

  ZHANG Jie , TAN Jie-qing

(1.College of Computer & Information, Hefei University of Technology, Hefei 230009, China;

2. Institute of Applied Mathematics, Hefei University of Technology, Hefei 230009, China)  

Abstract:  The Canny edge detection algorithm which used Gaussian filter for smoothing the image may lead to lower SNR and higher edge location error, which produced false edge and corner roundness. To solve these problems, in this paper, an improved edge detection algorithm is proposed by replacing Gaussian filter with anisotropic diffusion equations, and the image enhancement is carried out after diffusion. Experiment results show that the accuracy of edge detection is improved evidently, and a much better edge detection effect is obtained.

Key words:  edge detection; Canny algorithm; Gaussian filter; anisotropic diffusion equations; image enhancement

0  引言

图像边缘是图像最基本的特征之一,它对人类视觉和机器视觉具有非常重要的价值。边缘检测对于图像理解、图像分析和图像识别来说,是一个基础性的课题。它是图像分割、视觉匹配等的基础, 因此成为图像分析和识别领域中一个令人十分关注的课题。

所谓边缘就是图像灰度的分布不连续处。这种不连续性通常可以利用求导的方法检测到。因此传统边缘检测算子

    

基金项目: 国家自然科学基金资助项目(60773043 ,60473114), 安徽省自然科学基金资助项目(070416273X),安徽省教育厅科技创新团队基金资助项目(2005TD03)。

的研究主要集中于灰度图像梯度的研究,借助于空域微分算子,通过其模板与图像卷积来完成。典型的一阶微分算子有

Roberts算子、Prewitt算子Sobel算子,二阶微分算子有Laplacian算子、Log算子等。这些算子易于实现,具有很好的

实时性,但对噪声较敏感、抗干扰性能差,边缘不够精细。近年来,随着信号处理、模糊数学等基础理论的发展,越来

越多的新技术被引入到边缘检测方法中。如数学形态学方法、小波变换方法、神经网络方法和分形理论方法等。 Canny于1986年提出了基于最优化算法的边缘检测算子。它是一类具有优良性能的边缘检测算子,在许多图像处理领域中得到广泛应用,并已成为其它边缘检测算子性能优劣评价的标准。但是由于使用Canny算法时,首先需用高斯滤波对图像进行平滑,虽然这有利于去除噪声,但却降低了算法的信噪比,使得图像边缘检测结果产生伪边缘,也使得定位精度下降,使角点变圆。本文针对上面出现的问题,提出了一种新的算法,通过实验证明了该算法的可行性和有效性。

1  Canny边缘检测算子

1.1  Canny最佳边缘检测指标 

Canny研究了最优边缘检测器所需要的特性,把边缘检测问题转换为检测单位函数极大值的问题。在高斯噪声中,一个典型的边缘代表一个阶跃的强度变化。根据这个模型,一个好的边缘检测算子应该具有如下的三个准则:

(1) 高信噪比准则,即输出信号的信噪比最大,使得非边缘点判为边缘点或边缘点判为非边缘点的概率最小。信噪比(SNR)的数学表达式为:

  其中,代表边缘函数;代表带宽为的滤波器的脉冲响应;为高斯噪声的标准差。信噪比越大, 误检率越低。

(2) 高定位精度准则。即检出的边缘点与实际边缘点距离最小,使得定位精度高。定位精度的数学表达式为:

   

其中,和分别为和的一阶导数值越大,表明定位精度越高。

(3) 单一边缘响应准则。即每个边缘点有且只有一个响应,最大限度抑制伪边缘出现。要保证单一边缘响应,检测算子脉冲响应导数的零交叉点平均距离应满足:

                      

其中,为的二阶导数。

Canny的分析是针对一维边缘中的阶跃型边缘,Canny推导的最优边缘检测器的形状与高斯函数的一阶导数类似,利用二维高斯函数的对称性和可分解性,可以很容易计算高斯函数在任意方向上的方向导数与图像的卷积,因此在实际运用中可以选取高斯函数的一阶导数作为阶跃边缘的次最优检测算子。

设为图像,为二维高斯函数,为在方向上的一阶导数,即

                (1)

其中,表示内积;表示卷积;表示梯度。则边缘定义为与作用后的局部最大值点,在这个点有,把式(1)代入该式得到

                  (2)

1.2  Canny边缘检测算法

根据以上的分析,利用边缘检测的过程为:首先用高斯函数卷积图像,再计算式(2),满足式(2)的点即为边缘点。Canny算子实现步骤如下:

1) 用高斯滤波平滑图像,以去除图像的噪声,。

2) 计算图像灰度沿着水平和垂直两个方向的导数

  ,.

3) 利用2)的结果求梯度的大小,方向,并把方向角度规范化,大致分为水平、垂直、45度、135度四种方向。

4) 非极大值抑制:遍历图像,若某个像素的灰度值与其梯度方向上前后两个像素灰度值相比不是最大的,那么将这个像素值置为0,即该像素不是边缘。 

5) 通过双阈值去掉伪边缘,使用累计直方图计算出两个阈值,凡是大于高阈值的一定是边缘,凡是小于低阈值的一定不是边缘。如果检测结果在两个阈值之间,则根据这个像素的邻接像素中有没有超过高阈值的边缘像素,如果有,则它就是边缘,否则不是。

2 基于各向异性扩散方程的Canny边缘检测算法

2.1 各向异性扩散方程(Perona-Malik方程)

热传导方程是偏微分方程(PDE)的一个经典例子,它描述为在中,上的一个函数,满足:

      

其中Div表示散度,表示梯度,其边界条件为,该方程的解是+的函数,它刻画了在各向同性的介质中,热量随时间推移传播过程,是在点上时刻点的热量。当(3)式应用于图像时,不再表示时间,而是一个尺度参量。从图像出发,并且解这个方程,就可以得到一组图像,即在尺度下的简化图像。

Perona和Malik提出了基于热传导方程的非线性扩散模型:

        

其中,称为方程的扩散函数,它是关于扩散图像的梯度强度的单调递减函数,值域为,当趋近于0时,该方程即是式(3)的一个逼近。该方程的基本思想是:在扩散过程中,梯度小的地方具有较高的传导率,而在梯度大的地方则相反。期望的扩散系数应使(4)在平滑的区域内产生一个强的扩散以利于消除噪声,而在边缘区域内则停止扩散以利于边缘锐化。为此,Perona和Malik提出了以下两种形式的扩散函数:

  

其中系数为阻止扩散的梯度阈值,当梯度小于等于时,扩散得到鼓励,图像被平滑,而当梯度大于时,扩散得到抑制,边缘得到增强。

2.2  本文算法的思想

我们知道,Canny算法的第一步是用一个二维高斯函数同原始图像做卷积以滤除噪声,但存在的一个难题就是的选取问题,表示的是高斯函数曲线的标准差。越大,噪声抑制效果越好,但由于高斯滤波是一种线性滤波,它从图像的整体结构来修改图像。因此,高斯滤波在去除噪声的同时也同时平滑了图像的重要信息---边缘信息,这将不利于后续工作的进行,使得检测出来的边缘产生误差。

各向异性扩散从物理上可以解释成一个扩散的过程。它通过估计噪声和边缘的梯度强度,有选择地平滑图像。即在区域的内部进行平滑,而在有边缘的地方抑制平滑。因此,它是一种非线性处理方法,是根据图像的局部结构来修改图像的。它可以保证图像在去除噪声的同时,很好地保持边缘特征。这就克服了用高斯滤波做去噪时所出现的问题,有利于后续工作提取正确的图像边缘。

各向异性扩散方程作用于图像后,使得图像的灰度分布动态范围变窄,一些边缘变得比较平缓。在经过图像的求导数运算之后,其幅值变得比较小,从而在双阈值边缘检测中,边缘被丢失了。针对这个问题,我们利用图像增强的方法来解决。图像增强在图像的预处理中具有重要作用。它的目的是提高低对比度图像的质量,扩大目标与背景之间的灰度差值,使图象中的细节分辨得更清晰。因此在利用各向异性扩散方程对图像进行去噪之后,我们可以对图像作线性灰度变换来增强图像,以将灰度范围进行线性扩展。

线性灰度变换函数为,其中,为输出图像的灰度,为输入图像的灰度, 

为该线性变换函数的斜率,为截距。

2.3  本文算法的具体步骤

       在以上论述的基础上,本文提出了改进的Canny算法,步骤如下(其中设为图像,为二维高斯函数):

1) 用各向异性扩散方程作用于图像以去除噪声。

2) 对扩散后的图像做灰度线性变换以增强图像。

3) 计算图像灰度沿着水平和垂直两个方向的导数

  ,.

4) 利用2)的结果求梯度的大小,方向,并把方向角度规范化,大致分为水平、垂直、45度、135度四种方向。

5) 非极大值抑制:遍历图像,若某个像素的灰度值与其梯度方向上前后两个像素灰度值相比不是最大的,那么将这个像素值置为0,即该像素不是边缘。 

6) 通过双阈值去掉伪边缘,使用累计直方图计算出两个阈值,凡是大于高阈值的一定是边缘,凡是小于低阈值的一定不是边缘。如果检测结果在两个阈值之间,则根据这个像素的邻接像素中有没有超过高阈值的边缘像素,如果有,则它就是边缘,否则不是。

3  实验结果

为了验证本文方法的可行性和有效性,在一台Pentium4 CPU 2.6GHz,256M内存的微机上,利用Matlab7.0实现了本文算法。本文分别以加入了均值为0、方差为0.001的高斯噪声的Lena图像和二维条形码图像为例进行边缘提取,并与Canny算法做了比较。

      

(a)加入高斯噪声后的Lena图像                  (b)二维条形码图像

       

 (c)加噪Lena图像的Canny算法检测结果      (d)二维条形码图像的Canny算法检测结果

        

      (e)加噪Lena图像的本文算法检测结果       (f)二维条形码图像的本文算法检测结果

  图1 加入噪声后的Lena图像和二维条形码图像以及分别采用Canny算法和本文算法的边缘检测结果

从图1我们可以看到,用Canny算法检测加噪后的Lena图像时,在Lena图像检测结果中,多处产生了伪边缘(如(c)图中的Lena肩膀、帽檐上方、左边的柱子等)。本文算法检测结果有效地去除了伪边缘,取得了更好的视觉效果(如图(e)所示)。在对二维条码图像的边缘检测中我们看到,用Canny算法检测出的图像使得角点变圆(如图(d)的最低部中间部分、右下角等),而本文算法检测结果有着明显的改善,提取的边缘基本上能保持原来的形状(如图(f)所示)。

4结论

本文提出了一种基于各向异性扩散方程的Canny边缘检测算法。将Canny算法中的高斯滤波替换成各向异性扩散方程,并对去噪后的图像使用线性灰度变换以增强图像。改进后的Canny算子边缘检测算法提高了信噪比和定位精度,检测到的伪边缘显著减少,角点保持比较好,取得了更好的效果。

参考文献

[1].张小琳.图像边缘检测技术综述[J].高能量密度物理,2007,1:37-40

[2].季虎,孙即详,邵晓芳,等.图像边缘提取方法及展望[J].计算机工程与应用,2004,40(14):70-73

[3].J Canny. A computational approach to edge detection[J]. IEEE Trans PAMI-8,1986,6:678-69

[4].余洪山,王耀南.一种改进型Canny边缘检测算法[J].计算机工程与应用,2004,20:27-29

[5].Henri Maitre等,著;孙洪,译.现代数字图像处理[M].北京:电子工业出版社,2006:156

[6].Perona P, Malik J. Scale-Space and Edge Detection Using Anisotropic Diffusion[J].IEEE Trans,1990: PAMI-12(7):629-639

[7].梅跃松,杨树兴,莫波.基于Canny算子的改进的图像边缘检测方法[J].激光与红外,2006,6(36):501-503

[8].范彦革,刘旭敏.各向异性扩散的研究[J].计算机工程与应用,2006,29:55-59

[9].张小洪,杨丹,刘亚威.基于Canny算子的改进型边缘检测算法[J].计算机工程与应用,2003,29:113-115

     

     

     

作者简介:张 洁(1982-),男,安徽濉溪人,硕士研究生,主要研究方向为数字图像处理技术;

 檀结庆(1962-),男,安徽望江人,教授,博导,主要研究方向为非线性数值逼近理论与方法、科学计算、计算机辅助几何设计、计算机图形学、数字图像处理技术。

文档

基于各向异性扩散方程的Canny边缘检测算法【计算机应用】

基于各向异性扩散方程的Canny边缘检测算法张洁1,檀结庆2(1.合肥工业大学计算机与信息学院,合肥230009;2.合肥工业大学应用数学研究所,合肥230009)联系作者e-mail:jzhang_never@163.com摘要:Canny边缘检测算法由于使用高斯滤波对图像进行平滑,往往使得算法的信噪比和定位精度下降,从而产生一些虚假边缘,使角点变圆。本文针对Canny算法所出现的问题提出了一种改进方法,运用各向异性扩散方程代替高斯滤波,并对扩散后的图像做图像增强。实验结果表明,本文算法有效
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top