浅析基于M A T L A B的图像分割方法

2010-04-16 09:15蒋翠翠李明
电脑与电信 2010年6期
关键词:微分像素点算子

蒋翠翠李明

(华中师范大学,湖北武汉430079)

1.图像分割理论概述

在实际图像研究中,常常只有图像中那些感兴趣的目标才能为我们提供高效、有用的信息。这些目标一般对应图像中特定的、具有独特性质的区域。图像分割[1]就是将图像划分成若干个这样的有意义区域的过程,各区域是具有相近特性的像素的连通集合。

图像分割是数字图像处理的重要技术之一,其基础是像素间的相似性和跳变性。图像分割技术主要分为四大类:阈值分割,区域分割,边缘检测和差分法运动分割(主要针对运动图像的分割)。下面分别对前三类分割技术作简要介绍,并重点对边缘检测技术的几种常用算子进行比较分析,通过MATLAB数字图像处理工具编程实现基于各算子的边缘检测。

2.基于阈值的图像分割

阈值分割[2]是一种常用的图像分割方法,它主要利用图像中要提取的目标物与其背景在灰度特性上的差异,通过设置合适的灰度门限(阈值),将图像的灰度划分为两个或多个灰度区间,以确定有意义的区域或分割物体的边界。阈值分割常用于图像的二值化处理,即选择一个合适的阈值,通过判断图像中的每一个像素点的特征属性是否满足阈值的要求来确定图像中该像素点是属于目标区域还是属于背景区域,从而将图像转化成二值图像。

在用阈值法对图像进行分割时,阈值的取值不同,对于处理结果的影响很大。阈值过大或过小,都会导致分割的误差增大。根据阈值选取的方法不同,阈值分割可分为直方图阈值分割,类间方差阈值分割,二维最大熵阈值分割和模糊阈值分割。

3.基于区域特性的图像分割

图像分割的最终目的是把图像分成若干区域,根据区域的形成过程不同,分割方法分为两种:区域生长法和区域分裂合并法。

区域生长法的主要过程是:从一个已知种子点开始,依次检测其邻近点,根据检测标准,加入与其特性相似的邻近点形成一个区域,在各个方向上生长区域,当新的点被合并后再用新的区域重复这一过程,直到没有可接受的邻近点时生长过程终止;对于有多个目标区域的图像,可在之前已划分的区域外再选取一种子点,按同样过程生成新的区域;最终将图像分割成若干个目标区域。

区域分裂合并[2]方法利用了图像数据的金字塔或四叉树数据结构的层次概念,将图像划分成一组任意不相交的初始区域,根据给定的均匀性检测准则进行分裂和合并这些区域,逐步改善区域划分的性能,直至最后将图像分成数量最少的均匀区域为止。

4.基于边缘检测的图像分割及算子分析

边缘是指图像中像素灰度值或色彩等属性有突变的像素的集合,它存在于目标与背景、目标与目标之间,包含了丰富的图像信息。基于边缘检测[2]的图像分割正是利用边缘的灰度变化特性,通过考察图像中各像素在某个邻域内灰度的变化,利用边缘邻近一阶或二阶方向导数变化的规律检测目标物边缘,从而实现图像分割。边缘检测可借助空域微分算子通过卷积来实现。对图像进行微分运算,可求得灰度的变化率,加强图像中高频分量的作用,从而使图像中的边缘更清晰。实际数字图像图像处理中,常用差分近似微分,通过小区域模板卷积近似实现微分运算,这是利用各种微分算子进行边缘检测的基本原理。下面以梯度算子为例对边缘检测原理进行具体分析。

对于图像函数f(x,y),它在像素点(x,y)处的梯度是一个矢量,定义为:

梯度有两个重要特性:

(1)梯度的方向为函数f(x,y)最大变化率的方向;

用差分近似偏微分,G[f(i,j)]可近似表示为:

进一步近似简化得,

这种梯度法又称为水平垂直差分法。其中各像素点的相对位置如图1所示,与之对应的模板如图2所示,Gx、Gy分别对应其中水平方向和垂直方向的模板,两个模板共同构成一个梯度算子。

图1 像素点的相对位置

图2 水平垂直差分法梯度算子

(注:模板中带*的像素点表示当前被检测像素点的位置,下同)

由梯度的计算式可知,在图像中灰度变化较大的区域,对应的梯度幅度较大,变化平缓的区域,对应的梯度幅度较小。图像中的边缘即对应梯度值较大的区域。因此,根据梯度的幅度可以检测出图像中的边缘。

常用的边缘检测算子还有Prewitt算子,Sobel算子,Canny算子,LOG算子等,其中LOG算子为二阶微分算子,其它算子为一阶微分算子。各种微分算子的模板大小和其中的元素值不相同,但基本原理都同上面相同。下面对上述几种算子分别作介绍,并基于各种算子对同一图像利用MATLAB进行边缘检测,比较分析。

4.1 Roberts算子

Roberts算子采用交叉差分的方法近似计算梯度,因此也称为Roberts交叉算子。它对应的2*2模板如图3所示:

图3 Roberts算子

其梯度计算式可近似表示为:

Roberts算子边缘定位准确,但在加强边缘的同时也使噪声得到增强,因而对噪声敏感。

4.2 Prewitt算子和Sobel算子

Prewitt算子和Sobel算子均由两个3*3的模板组成,如图4和5所示。与Roberts算子不同,这两种算子采用被检测点两侧(行或列)像素的差分来近似微分,引入了平均因素,对图像中的随机噪声有一定的抑制作用。

图4 Prewitt算子

图5 Sobel算子

4.3 Canny算子

Canny的研究思想主要是把检测像素点转换为检测单位函数极大值,他指出一个好的边缘检测算子应有三个特性:检测性噪比高,边缘定位精度高,单边响应效果好。Canny算子基于Laplace滤波,采用两个阈值,对强边和弱边进行检测。从实验结果可以看出,相对其它边缘检测算子,Canny算子对像素变化更加敏感,能更好地捕捉图像中的微弱边缘。

4.4 LOG算子

LOG算子,即拉普拉斯—高斯算子。LOG算子先通过高斯滤波器对图像进行平滑滤波,再对图像进行拉普拉斯运算,最后通过检测过零点来确定图像边缘。

5.各种边缘检测算子的MATLAB实现与比较分析

5.1 边缘检测的MATLAB实现

MATLAB图形处理工具箱中提供了基于上述五种算子的边缘检测和过零检测共六种边缘检测方法[4]。图6为利用MATLAB对Lena灰度图像运用各种微分算子进行边缘检测的效果图。

图6 各种算子边缘检测效果

主要程序代码为:

5.2 边缘检测算子的比较分析

对比各种算子的边缘检测效果,可以分析出,Roberts算子算法最简单,但对图像中的噪声敏感,边缘定位精度不如其它算子高,有些强边亦不能很好地检测出来;Prewitt算子和Sobel算子相对Roberts算子而言,对强边的检测效果较好,对弱边则反应较迟钝;Canny算子由于采用双阈值分割,能较好地检测出图像中的强边和弱边,且边缘点的连续性也较好;LOG算子在微分前先对图像滤波,能较好地抑制噪声干扰,LOG算子采用过零检测,对于图像中对弱边也较敏感,但边缘单边响应不如Canny算子好,边缘连续性也较Canny算子差。

各种算子的特点不同,相应边缘检测也各有优劣,不可简单地说孰好孰坏。实际应用中,可根据不同场合选择不同的微分算子对图像进行分割。例如,在只需大致识别图像中目标物轮廓,可忽略图像内部细节时,选用Roberts算子、Prewitt算子或Sobel算子,就能达要求,且计算量相对较小。需对图像作较全面边缘检测时,Canny算子和LOG算子都是不错的选择。在提取图像轮廓时,Canny算子就相对较有优势。总之,根据需求合理选则图像分割方法是十分必要的。

5.3 图像分割方法的整合

在实验中,通过整合各种边缘检测方法,可以达到更好的图像分割效果。例如,将边缘检测与阈值分割联合使用,对于同一算子,选取不同阈值,分割效果也明显不同。图7为利用Sobel算子在不同阈值下进行图像分割的结果。主要MATLAB源程序如下:

图7 Sobel算子下不同阈值的分割效果

各种图像分割方法有着相同的分割基理,即利用图像中像素间的相似性和跳变性。这是多种图像分割方法能够整合的基础。合理整合多种分割方法,使之兼具不同分割方法的优势,可以达到更好的分割效果。

6.结束语

本文主要对基于边缘检测的图像分割的常用算子进行了比较分析,指出了不同场合算子的适用情况。基于边缘检测的图像分割技术具有丰富的灵活性,是图像分割中一种很基础也很常用的方法。目前,对于各种边缘检测算子的优化,也是图像分割中一个研究的热点。随着图像分割技术的不断发展,各种分割方法的整合也一定会受到更多研究者的青睐。

[1]章毓晋.图像工程[M].北京:清华大学出版社,2006.

[2]何东键等.数字图像处理[M].西安:电子科技大学出版社,2003.

[3]刘翠艳.基于MATLAB的图像处理方法及分析[J].电脑与电信,2009(4):84-86.

[4]Rafael C.等.数字图像处理:MATLAB版[M].北京:电子工业出版社,2005.

猜你喜欢
微分像素点算子
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
拟微分算子在Hp(ω)上的有界性
基于局部相似性的特征匹配筛选算法
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
上下解反向的脉冲微分包含解的存在性
一类Markov模算子半群与相应的算子值Dirichlet型刻画
基于5×5邻域像素点相关性的划痕修复算法
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
借助微分探求连续函数的极值点