基于MATLAB数字图像的边缘检测探究
2016-07-25常珈铭李维军石成江辽宁石油化工大学辽宁抚顺113001
常珈铭 李维军 石成江(辽宁石油化工大学,辽宁 抚顺 113001)
基于MATLAB数字图像的边缘检测探究
常珈铭 李维军 石成江
(辽宁石油化工大学,辽宁 抚顺 113001)
摘 要:随着MATLAB数字图像的边缘检测技术不断发展,其已广泛用于国内外工程技术、遥感、林业、医学等各个领域。基于此,本文首先介绍了MATLAB软件的特点,并对基于MATLAB数字图像的边缘检测的功能、算法及其图像的处理过程进行相关探究。
关键词:MATLAB;数字图像;边缘检测
一般来说,数字图像的边缘信息是极其重要的,该信息是提取一个图像特征的重要属性,同时可更加方便地对数字图像的边缘信息进行比较和量化,适合对图像中各物体的具体位置进行检测和确定。因此,对基于MATLAB数字图像的边缘检测进行相关的探究是有必要的,有利于我们提取更好、更为精确的图像特征。
1 MATLAB技术特点
MATLAB是由Math Works公司开发出的一种用于可视化图形处理和数值计算的程序化设计语言,这种编程语言操作简单、高效,且功能强大。MATLAB软件是一种将矩阵运算、数值分析、信号处理、图形图像处理和仿真集于一体的软件,也是国际上公认的一种优秀的数学应用软件。在MATLAB软件中有功能性工具箱和学科性工具箱,它的功能性工具箱主要是用来扩充其图示建模仿真功能、符号计算功能、文字处理功能等内容;而它的学科性工具箱具有较强的专业性,如统计工具箱、优化工具箱、控制工具箱、图像处理工具箱、小波工具箱及通信工具箱等。
2 图像边缘检测的功能与算法
在MATLAB软件中,函数一阶导数的极值点会与函数二阶导数的拐点和零交叉点的平滑信号相对应。目前,常用的图像边缘检测算法主要有高斯-拉普拉斯(LOG)算子、Sobel算子、Canny算子等。
2.1 高斯-拉普拉斯(LOG)算子
高斯-拉普拉斯(LOG)算子是一种既具有图像平滑功能,又具有边缘增强功能的二阶微分算法。该方法先利用二维的高斯算子对数字图像进行最佳的平滑处理,而后再利用二维拉普拉斯算子找出平滑图像的陡峭边缘,对平滑数字图像的边缘进行增强处理。高斯算子是利用高斯函数的形状对模版权值进行选择的线性平滑的滤波处理方法;拉普拉斯算子则是利用一种二阶微分算子,找出数字图像的陡峭边缘,结合高斯算子平滑处理的图像,利用零灰度值进行二值化,进而产生连通、闭合的图像边缘。
2.2 Sobel算子
Sobel算子主要是利用一阶导数对数字图像求梯度,并以导数的极值设定图像的边界,突出数字图像的边缘,如图1所示。众所周知,数字图像梯度是有方向的,且与数字图像边沿方向总是呈现正交状态。在边缘检测中,Sobel算子一般分为两种,一种是用来检测图像水平边沿,而另一种则是用来检测图像垂直边沿。在使用Sobel算子算法对图像进行边缘检测时,可对图像上下左右四个邻近像素进行加权平均来提高边缘检测的效果。
2.3 Canny算子
Canny算子的算法是利用高斯平滑滤波器对图像进行平滑,除去噪声,然后再采用一阶偏导的有限差分来计算图像梯度的方向和幅度值,在对极大值采取抑制的过程后,采用两个阀值来连接图像的边缘,以达到边缘检测的目的。
3 基于MATLAB的数字图像处理过程
3.1 图像类型的转换
MATLAB软件可支持多种不同类型的图像,如灰度图像、索引图像、二进制图像等,在对一些图像进行处理操作过的程中,对图像的处理具有各种不同的要求,故在处理过程中难免会涉及不同类型图像的转换。在MATLAB软件图像处理的工具箱中,提供了各种不同的图像类型的转换函数供用户选择使用,如rgb2gray()函数,该函数可将彩色图像转换为灰度图像,而利用gray2ind()函数可将二值图像或灰度图像转换为索引图像。在利用MATLAB软件对图像的类型进行转换时,常出现数据类型不匹配的情况,对此,MATLAB软件在其工具箱中又提供了各种可对数据类型进行转换的函数,如double()函数,该函数可将源数据转换为双精度类型的函数。
3.2 图像增强
图像的增强主要是为了在突出数字图像中的重要信息的同时对无关的信息进行减弱或消除。图像增强技术可不考虑数字图像降质的原因,直接衰减掉图像中无关的信息。目前,数字图像的增强方法主要有:(1)空间域法。空间域法就是直接在空间域内处理数字图像的灰度系数,这是一种直接的图像增强的方法,空间域法由灰度级校正、灰度变换、直方图修正等环节完成。(2)频率域法。频率域法是先通过在图像的变化域内对图像的变换系数值进行一定的修正和调整,而后借助逆变换的方法使图像达到增强的效果。频率域法是一种间接的图像增强方法,如同态图像增强、低通滤波等方法均属于频率域法这一类。
图1 Sobel算子模板
3.3 图像分析
图像分析是指对数字图像进行描述,用符号或者一组数对图像中目标区域的性质、特征及相互之间的关系进行描述,为图像的模式识别提供了可靠的基础。边缘检测是进行数字图像分析的重要内容,在数字图像的图像分割、区域形状提取、目标区域识别等图像分析领域内,边缘检测技术起着十分重要的基础作用,同时,在影像中提取一个图像的基本特征是边缘检测中图像识别的基本属性。基于MATLAB图像分析中的边缘检测是通过图像的边缘提取方法进行分析的,该方法主要包括边缘连接和边缘检测两个相对独立的阶段。边缘检测的实质就是对一种像素特性不连续的影像进行分割,这主要是由于边缘的存在使图像像素的灰度值不连续,而这种不连续可使用一阶或二阶导数求法检测出来。在边缘检测的方法中,最经典也是最常见的就是利用原始图像像素某邻域考察灰度的阶跃性变化,并根据边缘邻近的一阶或二阶导师的变化方向,构造边缘检测算子。因此,边缘检测的目标就是利用一阶或二阶导数的零点或极值点建立边缘检测模型,其中一、二阶导数可用微分算子进行计算,根据数字影像的特点,导数可利用差分近似微分进行计算。在图像的边缘检测中,最常用就是微分算子边缘检测,主要有以上提到的高斯-拉普拉斯(LOG)算子、Sobel算子、Canny算子等方法。
4 基于MATLAB的数字图像的边缘检方法对比
基于MATLAB的数字图像的边缘检测技术一般是通过阀值来确定边缘点的存在。因此,若图像梯度的幅度值大于阀值,则可以确定在该点一定存在边缘点,反之则没有边缘点。若出现阀值的选择性很大,则可能在该点不能检测出边缘点;若出现阀值很低,则可能将很多检测出的噪点误认为是边缘点。因此,在进行图像的边缘检测时,应选择合理的阀值。根据相关图像边缘检方法的实验对比显示,Robert算子在边缘检测的结果定位精度较高,但是图像边缘较粗,边缘定位并不清楚;而Sobel算子对图像的边缘定位比较准确与完整,具有一定的抗噪力,但是检测出的边缘较宽,可能存在伪边缘的现象,使其边缘定位的精度降低,视觉效果较差;高斯-拉普拉斯(LOG)算子先通过高斯低通滤波器对数字图像进行提前的平滑处理,然后用拉普拉斯算子找出数字图像中的陡峭边缘区域,这就可以较好地解决拉普拉斯算子抗噪能力较差的问题;Canny算子则采用高斯函数对数字图像进行平滑处理的技术,与高斯-拉普拉斯算子一样具有较强的抗干扰能力,在进行实际图像边缘检测时,能够较为准确地检测出图像的边缘,获得丰富的图像信息,同时检测出具体的弱边缘信息。
结语
数字图像的边缘检测既是数字图像处理中的一个重要环节,也是一个较为复杂的问题。利用MATLAB软件对数字图像进行边缘检测,可根据实际的需求选择合适的边缘检测方法,考虑各种方法的优点、缺点以及检测的效果来保证分析图像的质量。近年来,随着数学理论和计算机技术的快速发展,专业领域内逐渐出现了模糊理论、小波变换、神经网络等新的边缘检测方法。在实际运用中,我们应根据实际的需求和工程背景选择合理的边缘检测方法,以达到更好的数字图像处理效果。
参考文献
[1]韦炜.常用图像边缘检测方法及Matlab研究[J].现代电子技术,2011(4):91-94.
[2]王磊.基于MATLAB的数字图像处理[J].苏州市职业大学学报,2009(2):53-56.
中图分类号:TP391
文献标识码:A