APP下载

基于数学形态学预处理的Canny边缘检测算法

2017-01-13朱庆华

中国市场 2016年49期
关键词:形态学导数算子

朱庆华,常 莹

(北京电子科技职业学院 电信工程学院,北京 100176)

基于数学形态学预处理的Canny边缘检测算法

朱庆华,常 莹

(北京电子科技职业学院 电信工程学院,北京 100176)

为了更好地提取图像边缘信息并且抑制噪声,结合Canny算法及数学形态学在图像边缘检测中的应用,文章设计了一种基于数学形态学预处理的Canny边缘检测算法。通过将该算法与一般边缘检测算法以及Canny算法的仿真结果进行比较,可以发现该算法在边缘检测及消除噪声方面具有更优的性能。

图像处理;边缘检测;Canny算子;数学形态学;滤波

1 前 言

图像边缘是图像局部特性不连续性(如灰度变换、颜色突变、纹理结构突变等)的反映,它标志着图像中一个区域的终结和另一个区域的开始,这就决定了边缘检测的重要性。图像边缘蕴含了丰富的图像内在信息,它一般位于目标与背景、目标与目标或区域之间。但由于成像过程中的投影、噪声等导致图像特征的模糊和变形,从而造成了边缘检测的困难性。边缘提取首先检测出图像局部特性的不连续性,然后再将这些不连续的边缘像素连成完备的边界。图像边缘检测的任务就是确定和提取边缘信息,为图像分析、目标识别和图像编码做前期准备。目前,还没有一种方法是通用的,因此只能从原理、应用和应用效果等方面来深入研究边缘检测技术。

传统的Laplace、Sobel、Roberts等边缘检测算法,是利用梯度最大值或二阶导数过零点值,选取合适的阈值来获取图像边缘,这些算法尽管实时性好,但是抗干扰性能差,不能有效克服噪声的影响。与传统的算法相比,形态学在图像边缘检测中具有独特的优势,能够解决边缘检测精度和抗噪声性能协调的问题。数学形态学(Mathematical Morphology)是一种新的非线性图像处理和分析理论。它从集合的角度来刻画和分析图像,具有一套完整的理论、方法及算法体系。

2 传统边缘检测算法

边缘检测分为彩色和灰度两种图像边缘检测方法,本文只限于对后者的边缘检测研究,具体的步骤如图1所示:

图1 边缘检测步骤

2.1 一阶微分算子法

微分算子是最原始、最基本的边缘检测算法,对于阶跃型边缘,其灰度变化曲线的一阶导数在边缘处达到极大值,而二阶导数则在边缘处与横轴零交叉;对于屋脊型边缘,其灰度变化曲线的一阶导数在边缘处与横轴零交叉,而二阶导数则在边缘处达到负的极大值。在求边缘的导数时,需要对每个像素位置计算,在实际中常用模板卷积来近似计算。经典的微分算子有以下几方面。

2.1.1 Sobel算子

该算子根据像素点上下、左右邻点灰度加权差,在边缘处达到极值这一现象检测边缘。Sobel算子在空间上易于实现,对噪声有平滑作用,提供较为精确的边缘方向信息,边缘定位的精度不够高。当对精度要求不高时,这种方法比较常用。

2.1.2 Prewitt算子

它利用像素点邻点灰度差来检测。如果在每个点噪声都是相同的情况下,使用Prewitt算子效果较好。如果靠近边缘的噪声是沿着边缘的二倍,则使用Sobel算子效果较好。也就是说算子的好坏取决于噪声的结构。

2.1.3 Roberts算子

此算子采用对角线方向相邻两像素差近似梯度幅值来检测边缘,但是对有一定倾角的斜边缘提取效果不理想。该算子对于低噪声且具有陡峭边缘的图像有较好的检测效果。

2.2 二阶微分算子

2.2.1 Laplace算子

该算子为二阶微分算子,利用边缘点处二阶导数出现零交叉来检测边缘,各向同性,对灰度突变敏感,定位精度高,对噪声也敏感,不能获得边缘方向信息。

2.2.2 LOG算子

边缘检测技术中较为成熟的方法是LOG算子,该算子是把高斯平滑滤波器和拉普拉斯锐化滤波器结合。由于Laplace算子对图像中的噪声相当敏感,所以,实际中很少直接应用于边缘检测。

2.2.3 Canny算法分析

经典的边缘检测算子如Roberts算子、Prewitt算子、Sobel算子、Laplace算子等对噪声都极度敏感,适合于含噪声少、不太复杂的图像。Canny对过去的一些边缘检测方法和应用做了总结,在此基础上提出了边缘检测的三个准则并将其用数学的形式表示出来,用最优化数值方法,得到一个较好的实用边缘检测算法。

Canny提出的三个边缘检测准则如下:

(1)好的检测性能,即不漏检真实边缘,也不把非边缘点作为边缘点检出,使输出的信噪比最大。故要具有好的边缘检测性能等价于求f(x)使得检测后的图像在边缘点的信噪比SNR最大化,经过f(x)滤波后,边缘点处的响应为:

(1)

其中,G(-x)表示图像边函数,f(x)表示滤波器函数,σ表示噪声的均方差。

(2)高的定位精度,即判断检测到的边缘点的位置尽可能地靠近实际边缘的中心位置。定位准则的表达式如下:

(2)

其中,G′(-x)和f ′(-x)分别代表G(-x)和f(x)的导数,该准则就是通过寻找滤波函数,使得Location尽量大。

(3)尽量少的边缘响应次数,即最大限度抑制伪边缘的出现。要保证只有一个像素响应,检测算子的脉冲响应导数的零交叉点平均距离D(f)满足:

(3)

通过此准则,就能保证对每个边缘有唯一的响应,得到单像素边缘。将以上准则综合考虑,得到Canny算子的近似实现为:

J(f) =SNR(f)·Location

(4)

通过对上式的求解,便可以求得图像的边缘点。边缘点

位于图像被高斯平滑后的梯度值的极大值点。求解上式的详细算法过程如下:

(1)先用二维高斯函数的一阶导数对图像进行平滑滤波,以消除图像噪声。

高斯函数如下所示:

(5)

n表示高斯滤波器窗口大小。

(2)对滤波后图像中的每个像素,计算梯度幅值和梯度方向。

使用微分算子求出梯度方向上的偏导数:

(6)

(3)对梯度幅值进行非极大值抑制。

沿幅角方向检测模值的极大值点,即边缘点,遍历8个方向图像像素,把每个像素偏导值与相邻像素的模值比较,取其MAX值为边缘点,置像素灰度值为0。

(4)双阈值检测。

由于单阈值处理时,合适的阈值选择较困难,常常需要采用反复试验,因此采用双阈值检测算法,但是也损失了有用的边缘信息。较小阈值检测得到的图像1则保留着较多的边缘信息,以此为基础,补充图像2中的丢失的信息,连接图像边缘。Canny算法的流程图如图2所示。

图2 Canny算法流程

3 结 论

从实验结果中可以看出,相比一般边缘检测算法和Canny检测算法而言,利用基于数学形态学预处理的Canny算法进行边缘检测,可以得到更好的图像边缘信息,且定位准确。在边缘检测的实际应用中,对于图像细节的要求不一而足。本算法在处理图像时,一方面能够更加完善地保留图像边缘信息,另一方面根据理论分析,噪声也得到了更强的抑制;但是对于细节的处理尚有不足之处。

通过对仿真结果的主观评价,本算法性能的提升得以体现,但由于对边缘检测性能的提升与对噪声的抑制很难同时达到,本文边缘检测的优良性与对噪声的进一步抑制尚缺乏一组客观的评价指标来进行定量验证与分析。因此在后续的结合数学形态学的边缘检测研究中,我们会在以下两方面作深入研究:一是将图像细节特征的保留作为一个指标来评价算法优劣;二是选取合适的客观评价指标定量分析算法的优劣,使得数学形态学在边缘检测中的应用更加有效。

林卉,赵长胜,舒宁.基于Canny算子的边缘检测及评价[J].深圳大学学报:理工版,2005,22(2):149-153.

10.13939/j.cnki.zgsc.2016.49.085

朱庆华(1972—),男,北京人,北京电子科技职业学院电信工程学院讲师,学士。研究方向:多媒体技术、物联网技术等;常莹(1972—),女,北京人,北京电子科技职业学院电信工程学院讲师,硕士。研究方向:软件工程、移动终端技术。

猜你喜欢

形态学导数算子
解导数题的几种构造妙招
拟微分算子在Hp(ω)上的有界性
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
一类Markov模算子半群与相应的算子值Dirichlet型刻画
关于导数解法
Roper-Suffridge延拓算子与Loewner链
导数在圆锥曲线中的应用
医学微观形态学在教学改革中的应用分析
函数与导数
数学形态学滤波器在转子失衡识别中的应用