多语言展示
当前在线:429今日阅读:126今日分享:42

MATLAB如何实现区域分裂

区域分裂将不同特征的区域分离开。而合并将相同特征区域合并起来。二者结合起来也是一种区域生长的方式。
算法
1

首先将图像等分4个区域,然后反复将分割得到的子图像再次分为4个区域,直到任意子区域满足相似性准则,例如灰度值相近或相等,则不再分裂。

2

分割的图像即对应的四叉树算法如图,R为图像,

函数
1

qtdecomp函数:qtdecomp(I,threshold)将输入图像I按允许的阀值threshold分割子块。返回一个稀疏矩阵,每个子块的左上角给出子块的大小。

2

qtgetblk函数可获得四叉树分解后的子块的像素即位置信息,返回值vals是dim*dim*k矩阵,k是符合dim*dim大小的子块个数。

3

qtsetblk将四叉树分解得到的子块中符合条件的部分替换为指定的子块。

实现
1

以matlab自带rice.png为例,以阀值为0.2进行四叉树分解。

2

full函数将稀疏矩阵化为普通矩阵,显示分裂后的图像。

推荐信息