杨晨晓 李铭 李炎君
摘 要 边缘检测是分割与处理图像的主要内容之一,广泛应用于医学、地理、化学等各大领域。图像不同的意思就是形状、大小各异。为提取图像的边缘信息中显示的特征像素点,分析四种边缘检测方法以及四种形态学的基本运算,并通过实验作出比较。
关键词 MATLAB;边缘检测;Canny算子;开运算;闭运算
中图分类号:TP301.4 文献标识码:B
文章编号:1671-489X(2020)20-0039-03
Abstract Edge detection is one of the main contents of image seg-mentation and processing. It is widely used in medicine, geography, chemistry and other fields. Different images represent different shapesand sizes of image edges, that is, different pixels of feature points. In order to extract the feature points of image edge position, this paper introduces four edge detection methods and the application of four basic operations of mathematical morphology.
Key words MATLAB; edge detection; Canny operator; open opera-tion; closed operation
1 引言
边缘检测在图文识别、车牌识别、遥感特征地图的提取等方面都起着重大作用,目标是提取出图像中各种参数变化的特征点。其中边缘代表的是图像局部位置的不连续性,也具有强度突变的特点,能凸显相邻两个区域的边界信息。通过边缘检测的实验处理后,选取的区域特征信息可以理解为基于边缘检测方法的图像分割。
一般在图像中,图像边缘肉眼难以观察,比如像素的灰度、纹理等特征会像第一类突变性质一样。某图像和它所在背景的像素若显示灰度变化,则在图像边缘区域也会发生突变,一般这种变化就会呈现在剧烈的函数中。传统的边缘检测方法亦是如此。在数学领域,体现出这种变化会用一阶导数或二阶导数[1-2]来表示,在一阶导數中是在某函数为最大值时表示图像边缘处,二阶导数是在过零点时为图像边缘处。一般一阶导数算子分为Prewitt算子、Sobel算子和Canny算子等。另外,对图像边缘处理也有所扩展,比如数学形态学[3]的应用领域,主要包括膨胀、腐蚀、开运算和闭运算等边缘处理方法,但这些方法主要体现在二值、灰度图像中,各有千秋。后期还可研究出很多有关此学科的基本方法,这些方法可以对图像大小和形状分析进行处理。
2 边缘检测算法的一般原理
Sobel算子 该方法是呈现离散函数的一阶差分算子,主要是计算图像亮度变化的函数近似值。图像中的每一个像素点都可以用此方法计算,计算的结果就会呈现与之对应的梯度矢量值。根据原始图像{G(x,y)}每个像素点四个方向的邻点的加权值,就能表示只要较大的加权值出现,就会靠近该像素。当适当门限取值为w时,判断:若G(x,y)>w,则像素(i,j)表示的是边缘像素点,否则就不是边缘像素点。Sobel算子的优点是适应于较小的噪声部分,还可以获取较精确的边缘。如果没有要求高精度的话,就可以通过扩大邻域提高抗噪性能,导致运算复杂度增大,提取出的边缘也比较模糊。
Prewitt算子 该算子是一阶微分算子的边缘检测方法,它可以去掉边缘部分,主要是根据像素点的四个方向的邻点的加权值计算的,当边界信息达到最大值时,就可以平滑噪声。该算子是3×3矩阵的算子,一般它的加权值是通过邻点的八个点像素值来确定的。核心思想是对某图像的像素点利用两个矩阵作卷积运算,然后输出的结果是图像像素点的加权值。
当适当门限取值为w时,判断:若G(x,y)>w,则像素(i,j)表示的就是边缘信息点,否则就不是边缘像素点。综上所述,在进行边缘检测时,该算子可以消除图像的低频噪声区域,便于后期的图像分割。但使用该算子做出实验的效果边缘会比较模糊,不能明显看出图像的边界处。所以,该方法使图像边缘处产生非常大的噪声,即使较小噪声的边缘也会受到影响。
Canny算子 该方法主要目的是查找某图像的局部边缘信息的最大值,计算方法是利用高斯函数的导数计算出每个梯度值。其中还可通过两个加权值检测出某图像的强、弱边缘,只要这两者结合在一起,弱边缘就会被强边缘包含起来。其优点在于:较弱边缘处很容易检测,没有受到噪声影响。如BW=edge(I,‘canny),自动选择阈值用Canny算子进行边缘检测。BW=edge(I,‘canny,thresh),在该方法中,thresh有两个值:高权值和低权值。如果只有一个值,则为高权值,其低权值类似等于O.4倍的高权值;当权值为0时,自动选择低权值和高权值。
3 数学形态学运算
腐蚀和膨胀 膨胀和腐蚀这两个运算主要目的是查找某图的较大、较小区域。前者好似“区域扩大”,意思就是将某图像的凸显区域扩大范围,那么实验效果图的凸显区域就变大。还可让其与某图像所在的背景区域融合在一起,那么边缘信息慢慢向外部区域扩大的过程就能改变物体的缺憾部分。其运算是用3×3矩阵的结构表示的,对图像的每个像素做运算,接着再与其二值图像做逻辑“与”运算,结果等于0,说明图像的该像素为0;为1的结果则使二值图像扩张一圈。
腐蚀的主要功能是将白噪声去掉,也能将连在一起的图像断开。它好比“领域被缩减”,将图像的亮度区域或白色区域削弱化,仿真效果图的亮度部分变小。它是一种消除边界点的方法,目标是消除小且可忽视的物体。其运算用3×3矩阵的结构来表示,对图像的每个像素做运算,接着与其二值图像做逻辑“与”运算,结果等于1,说明图像的该像素为1;为0的结果则使二值图像减小一圈。
开运算和闭运算 这两个运算是膨胀和腐蚀的叠加得到的。开运算的现象是先腐蚀后膨胀,其主要作用是将较小物体去除,分离出弱小物体,平滑带有噪声的图像边缘处,不能明显地改变图像面积,消除了由图像噪音形成的瑕疵点。闭运算的现象是先膨胀后腐蚀,作用是弥补一些弱小、失真的图像边缘位置,对这些边缘特征点起到平滑作用。
开运算、闭运算这两者都是按照腐蚀和膨胀的先后顺序叠加的,但它们相互独立,不可逆,如果其中一種颠倒顺序,则不能得到想要的实验效果。如果想对某二值图像完成这两者的实验,采用“先开后闭”或“先闭后开”的顺序都可以,但效果图会呈现边缘信息的缺憾和失真。
4 实验数据分析
分别选取一张化学水分子图片(图1)和一张硬币图片(图6)进行边缘检测处理,在MATLAB环境中做出各种算法的仿真实验,并分析优缺点,图2到图5是四种算子检测实验图。为了更清楚地分析图像边缘区域的特征点,将四种结果图局部区域放大。
实验表明,采用边缘检测的四种方法是可以对同一张图片进行边缘处理的,效果图和原图有明显的对比。其中,图2检测出的图像边缘信息有噪声,图3、图4提取的边缘相对准确,这三种方法的优点都是计算简洁、实现快速以及有较成熟的技术,缺点在于没有明显平滑噪声,对实验过程产生一些干扰信号,在边缘检测时不能完成对整体图像边缘信息的提取,即使提取也不是很精确。但图5检测时就能将弱小边缘检测出来,并且可以平滑噪声,效果最好,和其他算子比较也相对明显。
实验表明,图7的效果显示出边缘信息由内向外扩大,弥补图像中的空隙;图8的边缘信息则消失,无法提取出边缘点,显得物体失真或模糊不清;图9是先腐蚀后膨胀的现象;图10是先膨胀后腐蚀的现象。和原图相比,腐蚀的效果图要比原图变得更小,所以适合去除高峰噪声;而灰度值膨胀效果显示各元素比之前的要大,所以适合去除低谷噪声。
5 结语
本文主要叙述图像边缘检测的Canny算子检测效果最好,也介绍在数学形态学中,闭运算主要适应于去除高峰噪声,而适应于去除低谷噪声的是膨胀运算。目前没有一种完善的方法能适用所有的图像及地物特征的边缘检测实验,还需进一步研究。
参考文献
[1]杨莎,熊纬,张昭.一种基于自适应阈值Canny算法的输变电设备图像检测方法研究[J].电子设计工程,2019(15):31-36
[2]田梦娜,徐泮林,丁鹏文.基于MATLAB的边缘检测算法研究[J].测绘与空间地理信息,2020(2):197-199,203,207.
[3]罗朝阳,张鹏超,姚晋晋,等.一种基于形态学的边缘检测算法[J].计算机应用与软件,2020(2):177-181,247.