朱庆华,等:基于数学形态学预处理的Canny边缘检测算法 物流工程与技术 基于数学形态学预处理的Canny边缘检测算法 朱庆华,常莹 (北京电子科技职业学院 电信工程学院,北京 100176) [摘要]为了更好地提取图像边缘信息并且抑制噪声,结合Canny算法及数学形态学在图像边缘检测中的应用,文章 设计了一种基于数学形态学预处理的Canny边缘检测算法。通过将该算法与一般边缘检测算法以及Canny算法的仿真结果进 行比较,可以发现该算法在边缘检测及消除噪声方面具有更优的性能。 【关键词]图像处理;边缘检测;Canny算子;数学形态学;滤波 [DOI]10.13939/j.cnki.zgsc.2016.49.085 1 前言 图像边缘是图像局部特性不连续性(如灰度变换、颜色 突变、纹理结构突变等)的反映,它标志着图像中一个区域 的终结和另一个区域的开始,这就决定了边缘检测的重要性。 图像边缘蕴含了丰富的图像内在信息,它一般位于目标与背 景、目标与目标或区域之间。但由于成像过程中的投影、噪 声等导致图像特征的模糊和变形,从而造成了边缘检测的困 难性。边缘提取首先检测出图像局部特性的不连续性,然后 再将这些不连续的边缘像素连成完备的边界。图像边缘检测的 任务就是确定和提取边缘信息,为图像分析、目标识别和图像 编码做前期准备。目前,还没有一种方法是通用的,因此只能 从原理、应用和应用效果等方面来深入研究边缘检测技术。 传统的Laplace、Sobel、Roberts等边缘检测算法,是利 用梯度最大值或二阶导数过零点值,选取合适的阈值来获取 图像边缘,这些算法尽管实时性好,但是抗干扰性能差,不 能有效克服噪声的影响。与传统的算法相比,形态学在图像 边缘检测中具有独特的优势,能够解决边缘检测精度和抗噪 声性能协调的问题。数学形态学(Mathematical Morphology) 是一种新的非线性图像处理和分析理论。它从集合的角度来 刻画和分析图像,具有一套完整的理论、方法及算法体系。 2传统边缘检测算法 边缘检测分为彩色和灰度两种图像边缘检测方法,本文 只限于对后者的边缘检测研究,具体的步骤如图1所示: 图1边缘检测步骤 2.1一阶微分算子法 微分算子是最原始、最基本的边缘检测算法,对于阶跃 型边缘,其灰度变化曲线的一阶导数在边缘处达到极大值, 而二阶导数则在边缘处与横轴零交叉;对于屋脊型边缘,其 灰度变化曲线的一阶导数在边缘处与横轴零交叉,而二阶导 数则在边缘处达到负的极大值。在求边缘的导数时,需要对 每个像素位置计算,在实际中常用模板卷积来近似计算。经 典的微分算子有以下几方面。 2.1.1 Sobel算子 该算子根据像素点上下、左右邻点灰度加权差,在边缘 处达到极值这一现象检测边缘。Sobel算子在空间上易于实 现,对噪声有平滑作用,提供较为精确的边缘方向信息,边缘 定位的精度不够高。当对精度要求不高时,这种方法比较常用。 2.1.2 Prewilt算子 它利用像素点邻点灰度差来检测。如果在每个点噪声都 是相同的情况下,使用Prewitt算子效果较好。如果靠近边 缘的噪声是沿着边缘的二倍,则使用Sobel算子效果较好。 也就是说算子的好坏取决于噪声的结构。 2.1.3 Roberts算子 此算子采用对角线方向相邻两像素差近似梯度幅值来检 测边缘,但是对有一定倾角的斜边缘提取效果不理想。该算 子对于低噪声且具有陡峭边缘的图像有较好的检测效果。 2.2二阶微分算子 2.2.1 Laplace算子 该算子为二阶微分算子,利用边缘点处二阶导数出现零 交叉来检测边缘,各向同性,对灰度突变敏感,定位精度 高,对噪声也敏感,不能获得边缘方向信息。 2l2.2 LOG算子 边缘检测技术中较为成熟的方法是LOG算子,该算子 是把高斯平滑滤波器和拉普拉斯锐化滤波器结合。由于La— place算子对图像中的噪声相当敏感,所以,实际中很少直 接应用于边缘检测。 2.2.3 Canny算法分析 经典的边缘检测算子如Roberts算子、Prewitt算子、So- bel算子、Laplace算子等对噪声都极度敏感,适合于含噪声 少、不太复杂的图像。Canny对过去的一些边缘检测方法和 应用做了总结,在此基础上提出了边缘检测的三个准则并将 其用数学的形式表示出来,用最优化数值方法,得到一个较 好的实用边缘检测算法。 Canny提出的三个边缘检测准则如下: (1)好的检测性能,即不漏检真实边缘,也不把非边缘 点作为边缘点检出,使输出的信噪比最大。故要具有好的边 缘检测性能等价于求f( )使得检测后的图像在边缘点的信 噪比SNR最大化,经过_厂( )滤波后,边缘点处的响应为: SNR(f)= _。G_====== ( l,( ) l (1) 口 2016.12旺 物流工程与技术 其中,G(一 )表示图像边函数,_厂( )表示滤波器 函数, 表示噪声的均方差。 中国市场2016年第49期(总第916期) 位于图像被高斯平滑后的梯度值的极大值点。求解l 式的详 细算法过程如下: (1)先用二维高斯函数的一阶导数对图像进行平滑滤 波,以消除图像噪声。 高斯函数如下所示: (2)高的定位精度,即判断检测到的边缘点的位置尽 可能地靠近实际边缘的中心位置。定位准则的表达式如下: … \~ ㈤ (2) G( ) 度方向。 唧l一 I,一 (5) 其中,G (一 )和_厂 (一 )分别代表G(一 )和 )的导 n表示高斯滤波器窗口大小。 (2)对滤波后图像中的每个像素,计算梯度幅值和梯 使用微分算子求}}J梯度方向上的偏导数: Gx= 1・数,该准则就是通过寻找滤波函数,使得Location尽量大。 (3)尽量少的边缘响应次数,即最大限度抑制伪边缘 的出现。要保证只有一个像素响应,检测算子的脉冲响应导 [:l1],G ÷.-- _l ]㈩ 工J )‘ ㈩ 通过此准则,就能保证对每个边缘有唯一的响应,得到 梯度大小lBl= ̄/曰 +B:,0=arctan (3)对梯度幅值进行非极大值抑制。 沿幅角方向检测模值的极大值点,即边缘点,遍历8个 单像素边缘。将以上准则综合考虑,得到Canny算子的近似 方向图像像素,把每个像素偏导值与相邻像素的模值比较, 取其MAX值为边缘点,置像素灰度值为0。 (4)双阈值检测。 由于单阈值处理时,合适的阈值选择较 难,常常需要 fw— )/【 )d l Il Jr G,(一 ), ) (4) 采用反复试验,因此采用双阈值检测算法,但是也损_欠了有 用的边缘信息。较小阈值检测得到的图像l则保留着较多的 边缘信息,以此为基础,补充图像2中的丢失的信息,连接 图像边缘。Canny算法的流程图如图2所示。 盯 ㈤ 口 州x 通过对上式的求解,便可以求得图像的边缘点。边缘点 [塑 高斯平…囤3 结论 求导 非极…制图 图2 Canny算法流程 结合数学形态学的边缘检测研究中,我们会在以下两方面作 深入研究:一是将图像细节特征的保留作为一个指标来评价 算法优劣;二是选取合适的客观评价指标定量分析算法的优 劣,使得数学形态学在边缘检测中的应用更加有效 , 从实验结果中可以看出,相比一般边缘检测算法和Can— ny检测算法而言,利用基于数学形态学预处理的Canny算 法进行边缘检测,可以得到更好的图像边缘信息,且定位准 确。在边缘检测的实际应用中,对于图像细节的要求不一而 足。本算法在处理图像时,一方面能够更加完善地保留图像 参考文献: 林卉,赵长胜,舒宁.基于Canny算子的边缘检测及评价[J] 深圳大学学报:理工版,2005,22(2):149—153. …一………… 边缘信息,另一方面根据理论分析,噪声也得到了更强的抑 制;但是对于细节的处理尚有不足之处。 通过对仿真结果的主观评价,本算法性能的提升得以体 现,但由于对边缘检测性能的提升与对噪声的抑制很难同时 达到,本文边缘检测的优良性与对噪声的进一步抑制尚缺乏 一[作者简介]朱庆华(1972一),男,北京人,北京电子科技职 业学院电信工程学院讲师,学士。研究方向:多媒体技术、物联网 技术等;常莹(1972一),女,北京人,北京电子科技职业学院电 组客观的评价指标来进行定量验证与分析。因此在后续的 信工程学院讲师,硕士。研究方向:软件工程、移动终端技术。 2016.12