区域生长和区域分离与合并的图像分割方法

来源:互联网 发布:青花大罐淘宝 编辑:程序博客网 时间:2024/06/01 03:57

最近在学习图像分割的方法,所以对区域生长与区域分离与合并的图像分割方法进行一下总结。

首先说一下两者的不同。区域生长是根据预先定义的生长准则来把像素或子区域集合成较大区域的处理方法。区域生长是先给定图像中要分割的目标物体内的一个小块或者说种子区域(seed point),再在种子区域基础上不断将其周围的像素点以一定的规则加入其中,达到最终将代表该物体的所有像素点结合成一个区域的目的。区域分离与合并是先将图像分割成很多的一致性较强,如区域内像素灰度值相同的小区域,再按一定的规则将小区域融合成大区域,达到分割图像的目的。区域生长的好坏决定于1、种子点的选取,2、生长准则,3、停止准则。

下面将重点讲一下区域分离与合并的图像分割方法。在我的上一篇博客里面也有程序,可对照程序进行理解。总的过程分三步:

(1) 分离任意区域Ri为4个不相连的象限,满足P(Ri)=FALSE。

(2) 当无法进一步分离时,合并任何满足P(Rj∪Rk)=TURE的区域Rj和Rk。

(3) 在无法进一步合并的时候停止。

具体来说,首先是图像分裂,分裂R的一种方法是把R连续地细分成越来越小的象限区域,以便对任何区域Ri都有P(Ri)=TRUE。我们从整个区域开始:如果P(R) =TRUE,就把图像分成4象限;如果对每个4象限来说,P都是FALSE,就不再进行分裂,这样继续下去。这种特别的分离技术有一种方便的表现方法,叫做四叉树;这是一棵树,树中的每个节点都恰好有4个后代,详细参考冈萨雷斯的数字图像处理。子图像对应四叉树的节点,有时称为四叉区域或四叉图像。

如果只使用分离,最终的部分通常包括具有相同属性的邻近区域,这个缺点可以通过下边的合并来解决。两个邻近的区域Rj和Rk,在满足P (Rj∪Rk) =TURE的时候就合并。当无法合并时,分割就完成了。满足属性的所有四叉区域都用1填充,并且它们的连通性可以很容易被检查,比如用imreconstruct函数。在效果上,这个函数能达到希望的邻近象限区域的合并。不满足属性的四叉区域都用0填充,从而产生分割的图像。

程序的编写:

 g=splitmerge(f,2,@predicate);%首先这条语句是主体,返回的g就是分割后的图像。predicate用于两个目的。判断是否分裂,是否满足合并标记的条件,后面会讲。

S=qtdecomp(f,@split_test,mindim,fun);%qtdecomp是实现四叉树分解的matlab中的函数,由于要实现分解,所以先把原图像f扩展成2的幂次的尺寸大小,最后返回g的时候,再变为原图像的大小就可以了。f是输入图像,S是包括四叉树结构的稀疏矩阵。如果S(k, m)非零,那么(k,m)是分解块的左上角,而且块的大小是S(k, m)。split_test函数用来决定某个区域是否进行分离,split_test本质上就是对flag=predicate(region)进行了一个调用,1,就继续分裂,0就停止分裂。mindim是它的参数,表示允许的最小的分块大小的尺寸。

分裂完以后,开始进行判断是否合并,为了在四叉树分解中得到实际的四叉区域像素值,使用qtgetblk函数,语法是:

[vals,r,c]=qtgetblk(f,S,m)

其中,vals是数组,vals包含f中四叉树分解的尺寸为m×m的块的个数,S是由qtdecomp返回的稀疏矩阵。参数r和c是包含块的左上角行和列坐标的向量。vals是一个数组,包含f的四叉树分解中大小为m*m的块的值,是一个m*m*个数的矩阵,个数是指S中有多少个这样大小的块,f是被四叉树分的原图像,r,c是对应的左上角块的坐标如2*2块,代表的是左上角开始块的坐标。

函数splitmerge的结构很简单。首先,图像被函数qtdecomp分块。函数split_test使用predicate来决定区域是否应该被分离。因为当区域被分成4个时,我们并不知道产生的4个区域中的哪一个将通过属性测试。在了解了在分离的图像中哪一个区域通过测试之后,考查一下区域是有必要的。函数predicate也用于这个目的。所以,predicate用于两个目的,在被split_test调用时,返回1,代表继续分裂,0代表不再分裂;在用作合并中时,返回1,表示通过测试,四叉区域都用1填充,返回0代表没有通过测试,用0填充。标识数组可在每个被填充了1的区域通过选择元素来创建。标识数组连同分割的图像一起被用于决定区域的连通性(邻接性);函数imreconstruct也用于这一目的。

所以区域分裂与合并的分割方法中,predicate函数是用户自定义的,改动性最大,最关键,关乎分割效果的好坏,用于两个目的时可以分别定义不同的函数准则,以达到最好的效果。




²一种是先给定图像中要分割的目标物体内的一个小块或者说种子区域(seedpoint),再在种子区域基础上不断将其周围的像素点以一定的规则加入其中,达到最终将代表该物体的所有像素点结合成一个区域的目的
²另一种是先将图像分割成很多的一致性较强,如区域内像素灰度值相同的小区域,再按一定的规则将小区域融合成大区域,达到分割图像的目的
²一种是先给定图像中要分割的目标物体内的一个小块或者说种子区域(seedpoint),再在种子区域基础上不断将其周围的像素点以一定的规则加入其中,达到最终将代表该物体的所有像素点结合成一个区域的目的
²另一种是先将图像分割成很多的一致性较强,如区域内像素灰度值相同的小区域,再按一定的规则将小区域融合成大区域,达到分割图像的目的
²一种是先给定图像中要分割的目标物体内的一个小块或者说种子区域(seedpoint),再在种子区域基础上不断将其周围的像素点以一定的规则加入其中,达到最终将代表该物体的所有像素点结合成一个区域的目的
²另一种是先将图像分割成很多的一致性较强,如区域内像素灰度值相同的小区域,再按一定的规则将小区域融合成大区域,达到分割图像的目的
1 0
原创粉丝点击