一种优化的基于阈值分割和数学形态学的边缘检测算法
2013-10-25张建平
马 芳,张建平
(中州大学 信息工程学院,郑州 450044)
一种优化的基于阈值分割和数学形态学的边缘检测算法
马 芳,张建平
(中州大学 信息工程学院,郑州 450044)
图像边缘检测是计算机图像处理的最基本步骤之一。由于噪声的干扰和图像光照不均匀等因素的影响,目前的图像边缘检则方法还不能有效地检测出各种不同模式的边界。本文介绍了已有边缘检测技术,并分析这些技术的缺陷,在此基础上提出一个改进的基于阈值分割和数学形态学的边缘检测方法。并用MATLAB仿真实验进行对比分析其适用环境。
图像分割;边缘检测;阈值分割;数学形态学
随着计算机视觉和图像处理技术的发展,边缘检测技术应用的领域越来越多,发挥的作用也越来越大。边缘检测技术是图像理解、分析和模式识别过程的前处理阶段,其检测的效果是影响整个性能的一个关键因素。常用的几个边缘检测方法大多通过检测每个像素和其邻域的状态来确定该像元是否位于一个物体的边界上。这些方法虽然简单,但是它们只适用于检测有限类型的边缘, 而且对噪声比较敏感,产生的边缘会出现断裂的情况,如何找到图像中相对应的真实边缘越来越受到人们的关注,在这方面做了大量的研究, 不断提出新的思想。本文在介绍已有边缘检测技术之外,提出一个改进的基于阈值分割和数学形态学的边缘检测方法。并用MATLAB仿真实验进行对比分析其适用环境。
1.边缘检测算法
计算机应用于图像处理有两个作用:一是产生更适合人们观察和认识的图像,二是希望能够由计算机自动识别和理解图像。无论为了实现哪种作用,其中关键的一步就是对包含有大量各式各样信息的图像进行分解。分解的最终结果是被分解成一些具有某种特征的最小成分,称为图像的基元。相对于整幅图像来说,这种基元更容易被快速处理。
图像分割技术主要是根据图像区域的不同边缘效果来进行分割。在图像分割技术中,图像边缘检测起到重要的作用,同时也是形状特征和纹理等特征的重要信息来源的基础。边缘检测技术也是图像匹配的基础。
图像的边缘是通过发生强度突变的点来区分的。根据判断方式的不同,可采用并行技术或串行技术进行边缘检测。并行技术的思想是通过当前点和其邻域点的情况来判断当前点是否是边缘;串行技术主要是通过判断前一点是否是边缘来决定当前点的情况。
在数字图像中每个点有不同的灰度值,灰度的不连续性可以反映出图像中边缘的情况。因此可以通过考虑图像中每个像素在一定区域的灰度变化,并根据一阶或二阶方向导数的变化规律检测出图像中的边缘。
图像边缘检测算法根据采用的数学思想不同可以分为下面两种类型:一是以一阶微分为基础的。由于边缘灰度变化规律一般体现为阶梯状或者脉冲状。差分值与边缘的关系一种是发生在差分最大值或者最小值处;一种是边缘发生在过零处。采用Sobel算子、Roberts算子、Prewitt算子等一阶差分算子得到的差分值可以检测阶梯状的边缘。这种算法可以检测出平均灰度值对于阶梯状或者图像灰度值的变化。二是以二阶微分为基础的。主要对灰度值变化呈阶梯状的图像进行检测,这种图像有过零点,对于点、线的检测效果较好,但是对含有噪声的图像检测效果不理想。Laplacian算子就是一种二阶差分算子。
介绍常用的几种边缘检测算子:
1.1 Robert边缘检测算子
100-110-10
图1 Robert算子
它是一个2×2算子,通过局部差分算子找到边缘, 实际上该算子是旋转±45°后两个垂直方向上微分结果的求和过程。该算子在水平和垂直方向检测效果较好,定位精度相对较高,直接计算图像差分,但是不包含平滑,所以不能很好的抑制噪声,一般只对低噪声图像响应较好。[2]
下面图2为细胞图像原始图,图3是用Sobel算子对原始图的边缘检测结果。
图2 原始图
1.2 高斯拉普拉斯算子
由于噪声点(灰度与周围点相差很大的点)对边沿检测有一定的影响,所以效果更好的边沿检测器是高斯拉普拉斯(LOG)算子。它把高斯平滑滤波器和拉普拉斯锐化滤波器结合了起来,先平滑掉噪声,再进行边沿检测,所以效果会更好。[3,4]
常用的LOG算子是5×5的模板,如下矩阵所示到中心点的距离与位置加权系数的关系用曲线表示为图4所示。图5是用LOG滤波器处理后的结果。
图3 Sobel算子
图4 LOG到中心点的距离与位置加权系数的关系曲线
图5 Log算子
相比之下,边缘算子检测结果图中Log算子效果较好,但是还没达到理想的效果,边缘还不是非常清晰。
本文介绍一种基于数学形态学和阈值分割相结合的优化方法检测图像边缘,可以得到较以上清晰的边缘图像。
2.基于阈值分割和数学形态学的边缘检测算法
2.1 阈值分割
阈值分割[5]技术是一种图像分割方法,这种方法的关键在于寻找适当的灰度阈值。通常是根据图像的灰度直方图来选取。阈值分割可以通过全局的信息如整个图像的灰度直方图,或者局部信息如灰度共生矩阵实现。如果在整个图像中只使用一个阈值,则这种方法叫做全局阈值法。反之,如果这个图像被分割成几个区域,针对每一个区域均有一个阈值,则这种方法叫做局部阈值法。
还有一种方法是最佳阈值,阈值的选择需要根据具体问题来确定,一般通过实验来确定。对于给定的图像,可以通过分析直方图的方法确定最佳的阈值,例如当直方图明显呈现双峰情况时,可以选择两个峰值的中点作为最佳阈值。[6]
本文介绍的算法中要进行分割的阈值T是通过迭代的方法求出。其思想如图6所示。
图6 迭代法求分割阈值T的算法流程图
2.2 数学形态学
数学形态学[7,8]是一种针对物体几何结构进行处理的非线性方法。利用它进行边缘提取在某些场合可以得到满意的结果。所以在图像分割后利用数学形态学进行边缘检测。设图像为A,它的边界为β(A)=A-(AΘB)。
2.3 实验结果
图7为用MATLAB实现基于阈值分割和数学形态学细胞图像边缘检测图。通过该算法,得到的边缘检测图像比传统边缘检测算法更清晰,而且细胞内空洞也比较少。
图7 基于阈值分割和数学形态学边缘图
3.结论
图像边缘检测技术在图像处理中具有重要地位,本文在对几种典型的边缘检测算法进行理论分析和仿真实验的基础上,分析其优点及不足,提出了一种改进的基于阈值分割和数学形态学的边缘检测方法。通过MATLAB仿真实验验证了该方法比传统算子边缘检测精度高,抗噪声性能强。本算法不足之处是算法复杂度比普通算法大,相应检测时间会增长,目前数学和人工智能的发展为边缘检测技术提供了更广阔的研究思想,边缘检测技术还有许多工作需要进一步的研究。
[1]韦炜.常用图像边缘检测方法及Matlab研究[J].现代电子技术,2011,34(4):91-94.
[2]黄锋华,刘琪芳,冀金凤.基于 MATLAB 数字图像边缘检测算子的研究[J].机械工程与自动化,2011(4):48-50.
[3]Gu PtaL,SortrakuI T.A Gaussian-Mixture-Based lmage Segmentation Algorithm[J].Pattern Recognition,1998,31(3):315-326.
[4]陈杨,陈荣娟,郭颖辉,等.MATLAB 6.X 图形编程与图像处理[M].西安:西安电子科技大学出版社,2002.
[5]飞思科技产品研发中心.MATLAB 6.5辅助图像处理[M].北京:电子工业出版社,2003.
[6]杨丽雯,曾朝阳,张永继.一种基于数学形态学的灰度图像边缘检测方法[J].计算理论与方法,2012,31(2):27-29.
[7]章毓晋.图像处理和分析[M].北京:清华大学出版社,2003.
[8]石跃祥,康蕴,刘海涛.基于数学形态学的彩色噪声图像边缘检测算法[J].计算机应用研究,2012,12(3):1172-1174.
2013-09-27
马芳(1979—),女,河南郑州人,中州大学信息工程学院讲师,主要研究方向是移动路由、下一代网络。
TP391
A
1008-3715(2013)06-0124-03
(责任编辑赵冰)