搜档网
当前位置:搜档网 › 图像分割毕业论文

图像分割毕业论文

第一章绪论

1.1课题的研究背景及意义

随着信息技术的发展和不断深入,人们越来越多的利用计算机来帮助人类获取与处理各种信息。据统计,在人类从外界获得的信息中有75%左右是来自视觉或者说图像信息,它是人类最有效的信息获取和交流方式,图像也因为其所含的信息量大、表现直观而在近年得到的广为宣传和应用的多媒体中占据了重要的地位。

图像分割是一种基本的计算机视觉技术,是从图像处理到图像分析的关键步骤。图像分割就是将图像表示为物理上有意义的连通区域的集合,是进行图像分析的第一步工作,也是解决起来比较困难的一个问题。对于那些基于图像分割结果的接下来的任务,如特征提取、目标识别等的质量的好坏都取决于是否有一个质量比较好的图像分割结果,有效合理的图像分割能够为基于内容的图像检索、对象分析等抽象出十分有用的信息,从而使得更高层的图像理解成为可能[1]。

1.1.1图像分割在数字图像处理中的地位

为了弄清图像分割在数字图像处理中所处的地位,我们引入并使用“图像工程”这个概念。图像技术在广义上是各种与图像有关技术的总称。图像技术种类很多,跨度很大,但可以将它们归在一个整体框架一一“图像工程”之下。图像工程是一个对整个图像领域进行研究应用的新科学,它的内容非常丰富,根据抽象程度和研究方法等的不同可分为三个有特点的层次(如图1-1所示):图像处理、图像分析和图像理解[2]。

图1-1图像分割在图像工程中的位置

图像处理着重强调在图像之间进行变换以改善图像的视觉效果。图像分析则主要是对图像中感兴趣的目标进行监测和测量,以获得它们的客观信息从而建立对图像的描述。图像理解的重点是在图像分析的基础上,进一步研究图像中各目标的性质和它们之间的相互联系,并得出对原始成像客观场景的解释,从而指导和规划行动。

图像处理、图像分析和图像理解具有不同的操作对象,参考图1-1图像处理是比较低层的操作,它主要在图像像素级上进行处理。图像分析则进入了中层,它侧重于对像素集合到目标的表达测量描述。图像理解主要是高层操作,基本上是对从描述中抽象出来的数据符号进行运算推理。

在对图像的研究和应用中,人们往往仅对图像中的某些部分感兴趣。这些部分常称为目标或前景(其他部分称为背景),它们一般对应图像中特定的、具有独特性质的区域。为了辨识和分析目标,需要将它们分离提取出来,在此基础上才有可能对目标进一步利用。图像分割就是指把图像分成各具特性的区域并提取出感兴趣目标的技术和过程。这里的特性可以是像素的灰度、颜色、纹理等。

图像分割是由图像处理过渡到图像分析的关键步骤,在图像工程中占据重要的位置。一方面,它是目标表达的基础,对特证测量有重要的影响。另一方面,因为图像分割及其基于分割的目标表达、特证提取和参数测量等将原始图像转化为更抽象更紧凑的形式,这才使得更高层的图像分析和理解成为可能。

1.1.2图像分割的应用领域

在实际生产生活中,图像分割的应用也非常广泛,几乎出现在有关图像处理的所有领域,并涉及各种类型的图像。例如,在遥感应用中,卫星云图的处理;在医学应用中,脑部MR图像分析;在交通图像分析中,违章车辆车牌区域的分割;在面向对象的图像压缩和基于内容的图像检索中感兴趣区域的提取。在这些应用中,图像分割通常是为了进一步对图像进行分析、识别、压缩编码等,区域提取的准确性将直接影响后继任务的有效性,因此分割的方法和精确程度是至关重要的。

也是因为图像分割在数字图像处理中占据了如此举足轻重的地位,所以才会在凡是有数字图像处理出现的地方就必然少不了图像分割的身影。纵观数字图像处理的历史,随着计算机的高速化和大容量化,摄像设备的小型化和高精度化,这在使得图像处理在工作站及个人计算机等小型机上的实现成为可能的同时,更使图像的质量有了突飞猛进的改善。技术的进步带来应用的革新,对人们的生产生活产生了全面而深刻的影响,使得数字图像处理技术在科学研究、工业生产、军事国防及现代管理决策部门等各行各业都得到越来越多的应用,其场合广阔、内容众多、形式新颖、门类齐全,其应用前景可以说是方兴未艾,正向着实时化、大众化、小型化、远程化等多方面迅猛发展。下面列出的表1-1简明扼要地展示了数字图像处理的一些常见应用领域[2]。

1.2图像分割技术的现状

自20世纪70年代起,对图像分割的研究一直是图像技术研究中的热点和焦点,人们对其的关注和投入不断提高。图像分割作为图像处理中的一项关键技术,至今已提出上千种分割算法,但因至今尚无通用的分割理论,现提出的分割算法也大都是针对具体问题的,并没有一种适合所有图像的通用分割算法。另外,还没有制定出选择适用分割算法的标准,这给图像分割技术的应用带来许多实际问题。比较常用的且分割效果较为理想的有基于形态学的分水岭分割、快速聚类分割、颗粒分割、区域阈值法和边缘检测法等。

表1-1数字图像处理的常见应用领域

最近几年又出现了许多新思路、新方法或改进算法,而且近年来每年有上百篇有关研究报道发表,2000年Medioni[3]专门撰书对图像分割进行了全面和深入的讨论。传统的分割算法基本以处理灰度图像为主。随着技术的发展,近年来,其它图像如彩色图像、多光谱图像、纹理图像、深度图像、多视图像、运动图像、合成孔径雷达图像等特殊图像也得到了广泛应用。它对分割技术提出了新的要求,引起了分割技术发展的新契机。而小波变换理论的成熟、神经网络技术的引入、模糊理论发展、粗糙集理论的应用为分割技术的发展提供了理论基础。

1.3 Matlab在图像处理中的应用

本文研究图像分割的软件平台是Matlab6. 5。该系列软件前身是由美国MathWorks 公司于1982年推出的一套高性能的数值计算和可视化软件。它集数值分析、矩阵运算、信号处理和图形显示于一体,其强大的扩展功能为各个领域的应用提供了基础。Matlab 工具箱中主要包括信号处理(signal processing),控制系统(control system),神经网络(neural network),图像处理(image processing),鲁棒控制(robust control),非线性系统控制

(nonlinear system control design),系统辨识(system identification),小波(wavelet)等工具箱(伯晓晨2000年)。这些工具箱给各个领域的研究和工程应用提供了有力的工具。借助于这些“巨人肩上的工具”,各个层次的研究人员可直观方便地进行分析、计算及设计工作,可以大大地节省软件开发时间。

针对广泛且蓬勃发展的图像处理而开发的Matlab图像处理工具箱函数更是广大从事图像处理研究人员的利器。他包括了图像变换、图像增强、图像压缩、图像分析、图像分割及识别等大量基本命令和函数。本课题将基于Matlab在图像处理上的强大功能,充分利用已有的Matlab工具箱函数进行图像分割算法的研究探讨。

1.4本论文的主要工作及内容安排

1.4.1本论文进行的主要工作

本课题的研究内容主要包括以下的几个方面:

(1)对图像分割的方法做整体的调查概述,归类时下流行的多种分割方法,并对其基本理论和应用方面等做研究和分析。

(2)就最经典的几种图像分割方法进行详述。

(3)着眼最近流行的形态学分割方法,深入分析数学形态学中的分水岭图像分割,并对其容易产生过分割的缺点进行了改进,最后提出了最佳的一种解决方案。

1.4.2 各章节的安排

第一章是绪论,阐述课题研究的意义、目的及发展现状。介绍本课题研究所采用的基本方法。

第二章对图像分割的方法进行整体性的概述,并简要介绍,对图像分割方法产生宏观的印象。

第三章对阈值法,区域法和边缘检测法这三种最基本也是最经典的图像分割方法进行验证性实验,并分析了实验结果。

第四章深入详尽的阐述了基于形态学的分水岭图像分割方法,对其优缺点均进行了剖析,并针对其容易出现过分割的缺点进行了试探性的解决,并通过Matlab的编程并仿真,最后提出了一种相对较优的综合分割方式。

第二章图像分割方法研究综述

2.1 概述

图像分割是依据图像的灰度、颜色、边缘、纹理或者几何特征将图像中具有特定含义的不同区域区分成互不相交的区域,而每一个区域都满足特定区域的一致性。比如对同一物体的图像,一般需要将图像中属于该物体的像素从背景中分割出来,将属于不同物体的像素点分离开。分割出来的区域应同时满足:

(1) 分割出来的图像区域是均匀的和连通的。其中,均匀是指该区域中的所有像素点都满足基十灰度、纹理、彩色等特征的某种相似性准则,连通是指该区域内任意两点均可以连接。

(2) 相邻分割区域之间针对选定的某种显著的差异性。

(3) 分割区域边界应该规整,同时能保证边缘的空间定位精度。

下面给出了图像分割的严谨的数学定义以加深理解。令集合R 代表整个图像区域,对R 的分割可看做将R 分成N 个满足下列五个条件的非空子集(子区域) R1 , R2 , …, RN :

R1∪R2∪R3∪…∪RN=R;

对所有的i 和j , 任意的i ≠j , 有Ri ∩Rj = 空集;

对i = 1 , 2 , …, N , 有P( Ri) = True ;

对i ≠j ,有P( Ri ∪Rj) = False ;

对i = 1 ,2 ,… , N ,有Ri 是连通的区域. 其中P( Ri) 是对所有在集合Ri 中的元素的逻辑谓词。

如果加强分割区域的均匀性约束,则分割区域很容易产生大量的空白和不规整的边缘;但若是过分强调分割后区域之间的性质差异,则又不免造成非同质区域的合并和部分有意义边缘的丢失。经过众多图像处理和机器视觉研究者的长期努力,在满足上述定义的情况下的图像分割算法取得了重大突破,但都是针对某一类型的图像或者某一具体应用,还没有一个单一的标准图像分割算法,没有形成一个统一的成形的图像分割理论;同时,也没有达成一个判断分割成功的客观标准。然而,还是有很多特定的图像分割算法在一定程度上被广泛应用,在其适用的特定范围非常有效。

根据所利用的图像信息,图像分割算法大致可以分为四大类:

(1)利用图像灰度统计信息的方法,典型的有一维直方图阈值化算法和二维直方图阈值化算法;

(2)利用图像图形的空间域信息和光谱信息的分割算法,这类典型包括区域合并、生

长法、纹理分割算法和多光谱分割算法等;

(3)利用图像中灰度变换最剧烈的区域信息算法是边缘检测算法,这类算法是Marr 理论中主要倡导的算法,在图像分割中用的最多,其典型有Canny算法、Marr-Hildreth 算法和基于多尺度的边缘检测算法等;

(4)利用图像分类技术的像素分类算法。这类算法的典型有统计分类方法、模糊分类方法和神经网络分类方法等,其中最常见的算法是k-means算法。

2.2阈值分割法

阈值分割法作为一种常见的区域并行技术, 就是用一个或几个阈值将图像的灰度直方图分成几类, 认为图像中灰度值在同一类中的像素属于同一物体。由于是直接利用图像的灰度特性, 因此计算方便简明、实用性强。显然, 阈值分割方法的关键和难点是如何取得一个合适的阈值, 而实际应用中阈值设定易受噪声和光亮度影响[4]。

近年来关于阈值分割法主要有: 最大相关性原则选择阈值法、基于图像拓扑稳定状态法、灰度共生矩阵法、熵法、峰值和谷值分析法等。其中,自适应阈值法、最大熵法、模糊阈值法、类间阈值法是对传统阈值法改进较成功的几种算法。更多的情况下, 阈值的选择会综合运用两种或两种以上的方法, 这也是图像分割发展的一个趋势。阈值法的缺陷主要在于它仅仅考虑了图像的灰度信息, 而忽略了图像的空间信息。对于非此即彼的简单图像处理(如一些二值图像的处理) 是有效的, 但是对于图像中不存在明显的灰度差异或各物体的灰度值范围有较大重叠的图像分割问题难以得到准确的分割效果。2.3基于边缘的图像分割法

边缘总是以强度突变的形式出现, 可以定义为图像局部特性的不连续性,如灰度的突变、纹理结构的突变等。边缘常常意味着一个区域的终结和另一个区域的开始, 图像的边缘包含了物体形状的重要信息, 它不仅在分析图像时大幅度地减少了要处理的信息量, 还保护了目标的边界结构。对于边缘的检测常常借助空间微分算子进行, 通过将其模板与图像卷积完成。两个具有不同灰度值的相邻区域之间总存在灰度边缘, 而这正是灰度值不连续的结果, 这种不连续可以利用求一阶和二阶导数检测到。当今的局部技术边缘检测方法中, 主要有一次微分(Sobel算子、Roberts算子)、二次微分(拉普拉斯算子等) 和模板操作(Prewitt算子、Kirsch算子和Robinson算子) 等。这些边缘检测器对边缘灰度值过渡比较尖锐且噪声较小等不太复杂的图像可以取得较好的效果, 但对于边缘复杂( 如边缘模糊、边缘丢失、边缘不连续等) 的图像效果不太理想。此外, 噪声的存在使基于导数的边缘检测方法效果明显降低, 在噪声较大的情况下所用的边缘检测算子通常都是先对图像进行适当的平滑, 抑制噪声,然后求导数, 或者对图像进行局部拟合, 然后再用拟合光滑函数的导数来代替直接的数值导数, 如Marr算子、Canny算子等[5]。有关学者曾给出了一种基于彩色边缘的图像分割方法, 这是对传统边缘分割方法只适用于灰度图像状况的一个突破[6]。

在未来的研究中, 用于提取初始边缘点的自适应阈值选取、用于图像层次分割的更

大区域的选取以及如何确认重要边缘去除假边缘将变得非常重要。

2.4基于聚类的分割法

对灰度图像和彩色图像中相似灰度或色度合并的方法称之为聚类, 通过聚类将图像表示为不同区域即所谓的聚类分割方法。此方法的实质是将图像分割问题转化为模式识别的聚类分析, 如k均值、参数密度估计、非参数密度估计等方法都能用于图像分割。常用的聚类分割有颜色聚类分割、灰度聚类分割和像素空间聚类分割。

颜色聚类实际上是将相似的几种颜色合并为一色, 描述颜色近似程度的指标是色差, 在标准CIE匀色空间中, 色差是用两个颜色的距离来表示的。但是显示器采用的RGB 空间是显示器的设备空间, 与CIE系统的真实三原色不同。为简单起见, 一般采用RGB

色空间中的距离来表示【7】。

灰度聚类是只把图像分成目标和背景两类, 而且仅考虑像素的灰度, 这就是一个在一维空间中把数据分成两类的问题。通过在灰度空间完成聚类, 得到两个聚类中心(用灰度值表征), 聚类中心连线的中点便是阈值。显然这个概念也可以轻松地延扩至多阈值和动态阈值的情况[8]。

像素空间聚类分割利用了人类视觉系统的研究, 由于人眼在识别物体时总是离不开物体所在的周围环境, 所以图像中灰度的局部变化对于图像处理是相当重要的信息。如果在某些特定的尺度上观察图像, 比如说把图像信号通过一个带通滤波器,滤波的结果

将使图像的局部信息更好地被表达[9]。通过一个多尺度分解, 轮廓信息可以在大尺度图像上保留下来, 细节或者突变信息可以在中小尺度上体现, 基于多尺度图像特征聚类的分割方法渐渐得到了人们的关注[10-11]。

2.5结合特定理论工具的分割法

图像分割目前尚无通用的理论。近年来, 随着各学科许多新理论和新方法的提出,

人们也提出了许多与一些特定理论、方法和工具相结合的分割技术[12]。

2.5.1基于数学形态学的分割技术

此技术的基本思想是用具有一定形态的结构元素去量度和提取图像中的对应形状

以达到对图像分析和识别的目的。如基于图像最大内切圆的数学形态学形状描述图像分

割算法、基于目标最小闭合结构元素的数学形态学形状描述图像分割算法、分水岭区域

分割法和聚类快速分割法等。由于形态学对图像分割具有优异的特性, 使其在未来的图

像分割中起主导作用。但该方法的主要缺陷还是不能很好地解决耗时问题, 将其与一些

节约时间的措施结合起来, 是图像分割的一种趋势。

2.5.2基于模糊技术的图像分割法

基于模糊集合和逻辑的分割法是以模糊数学为基础, 利用隶属度决定图像中由于信

息不全面、不准确、含糊、矛盾等造成的不确定性问题。该方法在医学图像分析中有广

泛的应用, 如基于有偏场的适配模糊聚类分割算法。薛景浩等人提出了一种新的基于图像间模糊散度的阈值化算法以及它在多阈值选择中的推广算法, 采用了模糊集合分别表达分割前后的图像, 通过最小模糊散度准则来实现图像分割中最优阈值的自动提取。该算法针对图像阈值化分割的要求构造了一种新的模糊隶属度函数, 克服了传统S函数带宽对分割效果的影响, 有很好的通用性和有效性。

2.5.3基于遗传算法的图像分割法

遗传算法是基于进化论自然选择机制的、并行的、统计的、随机化搜索方法。在分割复杂的图像时, 人们往往采用多参量进行信息融合, 在多参量参与的最优值求取过程中,优化计算是最重要的, 把自然进化的特征应用到计算机算法中, 能解决很多困难。遗传算法的出现为解决这类问题提供了新而有效的方法, 它不仅可以得到全局最优解, 而且大量缩短了计算时间。魏志成[14]等人就提出一种新的图像分割自适应算法的研究, 改进遗传算法的变异算子, 并把单点变异算子与双点变异算子结合, 能有效地改善局部收敛,该算法可保留图像的大部分信息, 对一些复杂图像的处理能得到很好的处理结果, 同时算法在时间上还有很大的优势; 王月兰[15]等人提出的基于信息融合技术的彩色图像分割方法, 该方法应用剥壳技术将问题的复杂度降低, 然后将信息融合技术应用到彩色图像分割中, 为彩色分割在不同领域中的应用提供了一种新的思路与解决办法。

除此之外, 还有其它许多新的混合算法和模型, 如基于人工神经网络技术的图像分割法[13]、基于视觉熵的图像分割[16]、基于各种模型(动态轮廓模型、物理模型等) 的分割算法等。

第三章经典图像分割算法的仿真与论证

图像分割的传统经典方法大致可分为三种(刘志敏,1998年):

(1)阈值法:以阈值为界区分物体与背景的简单方法。

(2)区域法:仅认定某一个像素集合为一个物体或区域的方法。

(3)边缘检测法:通过各种边缘检测算子检测图像边缘的方法。

上述这三种方法是图像分割领域最基础也是最经典的算法,近现代衍生出的改进算法都是在这个基础上发展起来的,所以这三种经典算法在图像分割领域中有着牵一发而动全身的关键地位。笔者作为一名学习研究图像分割算法的初学者,在涉猎了大量相关文献资料后决定先从经典算法的分析论证着手Matlab程序的设计。

3.1阈值法

阈值法主要靠设定阈值来分辨物体与背景。简言之就是在图像的灰度值中,选一适合的阈值,若像素值小于阈值,则判断为背景;大于阈值,则判为物体,因此这种方法很适合于图像中的物体有明显的区域边界且边界为封闭的情况。亦即,若目标物体和背景之间的灰度值有明显差异时,则阈值法可完全分割物体与背景。

下图3-1,3-2,3-3所示为自动阈值分割的程序仿真图,先取得一张背景单一的图像,然后对其进行自动阈值分割。

图3-1原始图片

图3-2自动阈值分割后的图片

图3-3原图片的直方图

通过观察直方图,可以确定目标物体的像素值大于75,所以确定图像阈值为75。这与手动用imhist(I)和I1=im2bw(I,140/255)这两个语句,通过设阈值为75后的分割效果图一致。

但是在很多情况下,图像并不像图3-1那么单纯,背景上可能有很多的变化。在这种情况下,可能某些区域中所用的阈值,就不能用在别的区域,当然最好的方法就是在不同的区域使用不同的阈值,也就是最好能实现自适应阈值分割,这就是在附录中的程序段实现的极大的方便之处。但同时我们也发现了这个程序的繁琐程度,这也就是阈值分割的弱点。

3.2区域法

3.2.1像素聚类区域成长法

从一个种子(seed)像素开始,通过像素平均灰度、组织纹理以及色彩等性质的检测,将具类似性质的像素逐一纳入所考虑的区域中,使其成长。此方法可以成功地找到像素性质相似的区域,并将其边界标示出来。这种方法一般适合边界明显,背景简单的图像色块。同时需要注意的是,判断邻近像素是否属于同一区域的临界值的选定极为重要,若选取过大,则像素过度聚合,反之,则聚合不够,两者都无法反映该图像区块的真实形状。

区域成长法针对不同的实际应用需要根据具体图像的具体特征来确定种子像素和生长及停止准则。因此这种方法的个性太强,所以将重点放在了下面的区域分割与合并法上,后者更有效而且更常用一些。

3.2.2区域分割与合并法(四叉树分解法)

首先将图像分割成不重叠的区域,其中最常用的方法是分割成四个大小相同的子图像。若每个子图像内有性质不同的图像存在就将该子图像继续分割,持续这个过程直到没有可再分割的条件为止。接着将具有同性质又相邻的子区域进行合并,直到无法再合并为止,整个图像分割程序才算完整。下图3-4即为四叉树分解法的几何展示。

图3-4四叉树法几何示意图

在Matlab图像处理工具箱中提供了提供了“四叉树分解”的函数,我们用区域分割与合并法时可以直接的调用,分割结果图3-5所示。

例如:

Image1=imread(‘liftingbody.jpg'); %读取图像

S=qtdecomp(Image1, 0. 27);% qtdecomp. m“四叉树分解’,函数

%0. 27是每个方块所需要达到的最小差值Image2=full (S);% 由于S变量为稀疏矩阵,故使用(full)指令来将S矩阵中缺少的元

素补上,以便显示

imshow(Image1);% 显示前后两张图片

figure,imshow(Image2);

这个小程序就可以实现将matlab中自带的liftingbody图片分割出轮廓来。

图3-5四叉树分解完成图像分割

3.3边缘检测法

边缘检测技术在数字图像处理中非常重要,因为边缘是图像中所要提取的目标和背景的分界线,只有提取出了边缘才能将背景和目标区分开来。

两个具有不同灰度的相邻区域之间总存在边缘,边缘是灰度值不连续的结果。这种不连续性通常可以利用求导数的方法方便地检测到,一般常用一阶导数和二阶导数来检

测边缘。边缘检测的基本思想首先是要利用边缘增强算子,突出图像中的局部边缘,然后定义像素的“边缘强度”,通过设置阈值的方法提取边缘点集。但是由于噪声和图像模糊的原因,检测到的边界可能是有间断的情况发生,所以边缘检测包含两个方面:

(1)用边缘算子提取边缘点集。

(2)在边缘点集中去除某些边缘点,填充一些边缘点,将得到的边缘点集连接为线。常用的检测算子有微分算子、拉普拉斯高斯算子和canny算子。

下面将各个常见的边缘算子处理同一幅细菌图像图3-6,并将各个算子处理后的图像放在一起(见下一页)。

从图中可以看出,canny算子的检测效果相对比较

理想,它将细菌与周围的培养基分割的较为利落,而

其他几种算子都对图像的细节信息过于敏感,以至于

连细菌内部结构的边缘也勾画了出来。这里值得一提

的是拉普拉斯高斯算子,在编程时我们取了两个ó

值,当它的值为2时图像分割对细节过敏感,当变为

3时又导致边缘残缺。综合看来,canny都是最优的

阶梯型边缘检测算子。

图3-6 bacteria.bmp

由此看出边缘算子检测目标图像边缘的缺陷在所有边缘检测中表露无遗。各种算子均对图像的细节信息敏感,由于现实生活中不是所有物体都有清晰的外轮廓线,再加上在不同的光影效果下影射成不同的灰度值,所以通过边缘检测算子检测到的边缘,并不仅仅是目标物的外轮廓线,更含有大量内部结构的细小轮廓线。同时,往往目标物的外轮廓线也不是连续的,遮阳一来就难以得到目标图像的形状、面积等。显然,这样的分割结果是不能令我们满意的。在本论文的下一章将重点描述另外一种相对要优越一些,也确实可以在日常生活中产生实际应用价值的图像分割算法。

(a)LoG检测效果(b)roberts检测效果

(c)prewitt检测效果(d)canny检测效果

(e)LoG检测效果(f)sobel检测效果

图3-7边缘检测法多种算子的图象分割

第四章 基于形态学的分水岭图像的分割算法

4.1数学形态学概论

图4-1 数学形态学基本思想

数学形态学以图像的形态特征为研究对像,它的主要内容是设计一整套概念、变换和算法,用来描述图像的基本特征和基本结构,也就是描述图像中元素与元素、部分与部分间的关系。数学形态学算子的性能主要以几何方式进行刻画,传统的理论却以解析方式的形式描述算子的性能,而几何描述特点似乎更适合视觉信息的处理和分析。这一基本思想如图4-1所示。

最初,由Maheron 和Serra 提出的数学形态学研究以二值图像为对像,称为二值形态学;此后,Serra 和Sternberg 等借助于伞理论,把二值形态算子推广到灰度图像,因而使灰度形态学的理论和应用研究也得到很大的发展,已经成为数字图像信号处理和计算机视觉领域中的一种有效方法。而今,数学形态学已经成为图像处理理论的一个重要方面,广泛地应用到图像处理的很多领域中,这些领域涉及医学成像、显微镜学、生物学、机器人视觉、自动字符读取、金相学、地质学、冶金学、遥感技术等等。在这些领域中,利用数学形态学可以对图像进行增强、分割、边缘检测、结构分析、形态分析、骨架化、组分分析、曲线填充、图像压缩等等各种各样的处理。

数学形态学的基本运算有四个:膨胀(或扩张),腐蚀(或侵蚀),开启和闭合。基于这些基本运算:还可以推导和组合成各种数学形态学的算法。设),(y x f 为输入图像,),(y x b 为结构元素,其中),(y x 为图像平面空间的坐标点,f 为点),(y x 的灰度值,b 为点),(y x 的结构函数值, f D 和b D 分别是函数f 和b 的定义域。四种基本运算的定义如下:

(1)腐蚀运算

(2)膨胀运算

(3)开运算

(4)闭运算

腐蚀运算可以减弱甚至消除小于结构元素的明亮区域,从而可以用来有效地去除孤立噪声点和边界上不平滑的凸出部分。运用形态学的腐蚀运算可以得到图像的边界。

膨胀是将与目标物体接触的所有背景点合并到物体中的过程,可填补空洞和形成连通域以及填平图像边界上不平滑的凹陷部分。

开运算是先对图像进行腐蚀运算再进行膨胀运算,能去除掉图像中的孤立区域和毛刺,利用它可以消除形状小于结构元素的正峰值,根据目标和噪声的特点,选择合适的结构元,就能剔除目标和噪声,而将背景保留下来,得到背景的估计[17]。

闭运算是先对图像进行膨胀运算再进行腐蚀运算,可以填充物体内的细小空洞,连接邻近物体和平滑物体边界。

最基本的形态梯度可定义如下:

具体说来,b

f 将亮区域扩展了一个像素的宽度,而fΘb将亮区域收缩一个像素的宽度。这样它给出的边界有两个像素宽,它没有放大噪声,但本身可能包含不少噪声。

另一种形态梯度为:

这种梯度对孤立的噪声点不敏感,如果将它用于理想斜面边缘的检测效果很好。4.2基于形态学的分水岭分割

4.2.1分水岭分割的基本思想和常用方法

如今,人们己经将分水岭的概念应用到图像分割中。在图像处理中引入分水岭概念时,可以有两种形式:一是将灰度图像看成是假想的地形表面;二是将待分割图像的梯度图像看成假想的地形表面。在这两种形式中都将图像中每个像素的像素值表示该点的海拔高度。假设待分割的图像由目标和背景组成,这样,图像中目标的内部区域对应图中灰度较低的位置,而背景则对应图中的灰度值较高的位置,图中的灰度极小值点分布在目标内部。水面从这些极小值点处开始上涨,当不同流域中的水面不断升高到将要汇合在一起时(目标边界处),便筑起一道堤坝,最后得到由这些水坝组成的分水岭线,图像也就完成了分割。然而,用分水岭算法对灰度图像进行分割时,图中每个独立的局部底谷都划归为不同区域,最终导致“过分割”,即产生大量虚假的轮廓以致无法确认哪些是真正的轮廓。

常见的几种分水岭计算方法有:Beucher和Lanturjoul提出的基于浸没模型的分水岭算法,Friedlander在提出的有序算法[18],Beucher提出的基于有向箭头的有序算法[19]。

传统的分水岭算法存在一些缺点。第一,在处理的过程中,它们都连续多次对图像进行完整的扫描。这就意味着在每一步过程中,所有的像素都必须被扫描一次,这是非常费时的。第二,这些算法都没有一个固定的迭代次数,每一次迭代都必须对图像进行完整的扫描,而迭代的次数可能很大。所以,在目前的计算机中,这些算法的效率是非常低的,有时候计算一次分水岭变换可能需要几个小时。

4.2.2分水岭分割的数学模型

模拟淹没算法的数学模型如下:假设)(p I 表示二维灰度图像函数,其中p

为图像中像素点,f D ?2Z 表示 I 的值域,m in h 是f D 中的最小值,m ax h 是f D 中的最大值,有:

定义1:为门限函数,定义式如下:

定义2:)(M C 设为盆地(catchmentba sin) , M 为盆地中的灰度最小值,则)(M C h 表示)(M C 的子集,定义式如下:

定义3:测地距离(geodesicin fluencez one),设A 为简单连通的区域,A 内两点x, y 间的路径P 完全包含在A 内,则x, y 间的测地距离定义为:

定义4:测地影响区域(geodesic influence zone)表示为)(i A B iz ,其中1B ,2B ,…,k B 是包含在A 中的连通区域,则)(i A B iz 为A 中的到i B 测地距离小于),~1(i j k j B j ≠∈所有像素点的集合,定义式为:

测地影响区域如图4-2所示,从图中可看出,A 中不属于任何测地影响区域的像素组成了影响区域的轮廓(skeleton by influence zones),该轮廓即为)(B SKIZ A ,定义式为:

图4-2 测地距离图和测地影响区域

4.2.3分水岭法的步骤

图4-3 分水岭法分割

分水岭法常常因为噪音或细微的图像纹理的影响造成过度分割,所以在做分水岭法之前会先做消除噪音及纹理的前期处理程序,且在做完分水岭法之后会对过度分割的区域进行区域合并,由此可得到理想的分割效果。分水岭法的对像分割流程如图4-3。

其中*F 为输入图像,S K F 为做完简化的结果,G K F 为经过梯度运算后的结果,W K F 为经过

分水岭分割后的结果,M K F 为经过区域合并的结果[20]。

4.3梯度优化的分水岭分割

4.3.1梯度优化

分水岭变换得到的是输入图像的集水盆图像,集水盆之间的边界点即为分水岭。显然,分水岭表示的是输入图像极大值点。因此,为得到图像的边缘信息,通常把梯度图像作为输入图像。采用形态学开闭运算结果作为梯度图像,并且对梯度图像进行阈值优化处理,这两个步骤都是为了减少分水岭图像分割的过分割现象而采取的措施。经形态学开闭运算平滑后的图像消除了非规则的细节扰动和明暗噪声,对平滑后的梯度图像进行阈值优化,则可以进一步消除产生过分割的因素,再经分水岭分割时分割的区域数也相应地减少了,这样能够更有效地检测目标。

4.3.2梯度图像上的分水岭分割算法

梯度图像能更好地反映图像的变化趋势。实践证明,分水岭算法与图像的梯度有更大的联系, 而非图像本身。在梯度图像上进行分水岭算法分割,比在原始图像上分割得到的结果更加准确,所以梯度图像更适合作为分水岭算法的分割图像。因此,为得到图像的边缘信息,我们把梯度图像作为输入图像,即:

[][]{}21

22)1,(),(),1(),()),((),(--+--==y x f y x f y x f y x f y x f grad y x g

其中,),(y x f 表示原始图像,}{grad 表示梯度运算。为降低分水岭算法产生的过度分割,通常要对梯度函数进行修改,一个简单的方法就是对梯度图像进行阈值处理,以消除灰度的微小变化产生的过度分割,即:

))()),,((max(),(θg y x f grad y x g =

其中)(θg 表示阈值。首先用中偏低的灰度阈值对梯度图进行二值化,从而检测出物体和背景。物体与背景被处于阈值之上的边界点分开。随着阈值逐渐提高,就引起物体和背景的同时增长。当它们接触上而又不至于合并时,可用接触点来定义边界。这就是分水岭算法在梯度图中的应用。用阈值限制梯度图像以达到消除灰度值的微小变化产生的过度分割,获得适量的区域。

下面以一个小例子就可直观的看出用梯度图像比用简单的二值化图像做分水岭算法的输入图像出现的过分割现象有明显的减少。

(a ) Lena 原图 (b )二值化后分水岭 (c )梯度图像分水岭

4.4实验结果及分析

本次实验中共分三个小部分,呈逐渐改进的用了三种方法进行分水岭图像分割,记录了每种方法的分割效果,并进行了比较分析。

本次的实验对象随机选定了一个车牌,因其图片较小,matlab软件仿真可节约时间。车牌如图4-4所示。

图4-4 原图

4.4.1读入图像并显示

程序如下:clear all;

f=imread('chepai.jpg');

Info=imfinfo('chepai.jpg');

if Info.BitDepth>8

f=rgb2gray(f);

end

figure,mesh(double(f));

三维直方图:

图4-5 三维直方图

观察图片发现这幅图像类似集水盆地,这与上文对分水岭分割法的定义描述相符,可以给以更直观的视觉感受,为接下来的图像分割做准备。

4.4.2一般的分水岭分割

程序如下:b=im2bw(f,graythresh(f));%二值化,注意应保证集水盆地的值较低(为0),否

则就要对b取反

d=bwdist(b); %求零值到最近非零值的距离,即集水盆地到分

水岭的距离

l=watershed(-d); %matlab自带分水岭算法,l中的零值即为风水岭

w=l==0; %取出边缘

g=b&~w; %用w作为mask从二值图像中取值

figure

subplot(2,3,1),imshow(f);

subplot(2,3,2),imshow(b);

subplot(2,3,3),imshow(d);

subplot(2,3,4),imshow(l);

subplot(2,3,5),imshow(w);

subplot(2,3,6),imshow(g);

图像显示:

图4-6 一般分水岭分割

从图像中不难看出最终的处理结果存在过分割的问题,对图像的质量产生较大影响,将背景中一些细小的花纹也分割出来,当然这也就是我们在上文中提到过的分水岭算法本身对细节极其敏感的特性使然。

4.4.3使用梯度的两次分水岭分割

程序如下:h=fspecial('sobel');%获得纵方向的sobel算子

fd=double(f);

g=sqrt(imfilter(fd,h,'replicate').^2+imfilter(fd,h','replicate').^2); %使用sobel算子

进行梯度运算

l=watershed(g); %分水岭运算

wr=l==0;

g2=imclose(imopen(g,ones(3,3)),ones(3,3));

%进行开闭运算对图像进行平滑

l2=watershed(g2); %再次进行分水岭运算

wr2=l2==0;

f2=f;

相关主题