主要内容

qtdecomp

四叉树分解

描述

年代= qtdecomp (对灰度图像进行四叉树分解并返回稀疏矩阵中的四叉树结构年代.默认情况下,qtdecomp分割块,除非块中的所有元素都相等。

例子

年代= qtdecomp (阈值如果块元素的最大值减去块元素的最小值大于,则拆分块阈值

年代= qtdecomp (阈值mindim不会产生小于mindim,即使结果块不满足阈值条件。

年代= qtdecomp (阈值,[mindimmaxdim])不会产生小于mindim或比maxdim.块比maxdim即使它们满足阈值条件,也会被分割。

年代= qtdecomp (有趣的使用函数有趣的决定是否分割块。

例子

全部折叠

创建一个小的样本矩阵。

I = uint8([1 1 1 1 2 3 6 6;...1 1 2 1 4 5 6 8;...1 1 1 1 7 7 7 7 7 7;...1 1 1 1 6 6 5 5 5;...20 22 20 22 1 2 3 4;...20 22 22 20 5 4 7 8;...20 22 20 20 9 12 40 12;...20 22 20 20 13 14 15 16]);

执行四叉树分解并显示结果。

S = qtdecomp(我,. 05);disp(完整的(S));
4 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 2 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 1 1 0 0 0 0 0 0 1 1

将图像读入工作区。

我= imread (“liftingbody.png”);

执行四叉树分解并在图中显示块表示。

S = qtdecomp(我,10);块= repmat (uint8(0)大小(S));Dim = [512 256 128 64 32 16 8 4 2 1];numblocks =长度(找到(S = =昏暗));如果(numblocks > 0) values = repmat(uint8(1),[dim dim numblocks]);值(2:昏暗的,2:昏暗的,:)= 0;块= qtsetblk(块,年代,昏暗,值);结束结束块(1:末端)= 1;块(1:结束,结束)= 1;imshow(我)

图中包含一个轴对象。axis对象包含一个image类型的对象。

图imshow(块,[])

图中包含一个轴对象。axis对象包含一个image类型的对象。

输入参数

全部折叠

灰度图像,指定为——- - - - - -n数字矩阵。如果语法包含函数句柄,有趣的,则图像可以是该函数支持的任何类的图像。金宝app

数据类型:||int16|uint8|uint16|逻辑

块均匀性阈值,指定为范围[0,1]内的标量。

  • 如果的类uint8,然后qtdecomp乘以的价值阈值通过255来确定实际使用的阈值。

  • 如果的类uint8,然后qtdecomp乘以的价值阈值通过65535确定要使用的实际阈值。

最小块大小,指定为正整数。mindim必须是图像大小的因素。

最大块大小,指定为正整数。maxdim/mindim一定是2的幂。

函数句柄,指定为句柄。函数必须接受所有的输入——- - - - - -积木堆成一个——- - - - - -——- - - - - -k数组,k为块的数目。函数必须返回一个逻辑k-element vector,其值为1如果对应的块应该被分割,和0否则。例如,如果k3.)是0,然后是第三个——- - - - - -块不应该被分割。

有关函数句柄的更多信息,请参见创建函数处理

输出参数

全部折叠

四叉树结构,返回为稀疏矩阵。如果S (k、m)是零,那么(k,米)是左上角的块在分解,而块的大小是由S (k、m)

数据类型:

提示

  • qtdecomp主要适用于尺寸为2的平方图像,如128 × 128或512 × 512。这些图像可以被分割,直到块小到1乘1。如果你使用qtdecomp对于尺寸不是2的乘方的图像,在某些点上块不能被进一步分割。例如,如果一幅图像是96 × 96,它可以被分成大小为48 × 48、24 × 24、12 × 12、6 × 6和3 × 3的块。不可能再进行超过3乘3的除法。要处理此图像,必须设置mindim3(或2的3次方);如果你在使用包含函数的语法,有趣的,函数必须返回0当块不能被进一步分割时。

算法

qtdecomp函数将一个正方形图像分成四个大小相等的正方形块,然后测试每个块,看看它是否满足某种同质性标准。如果一个块满足条件,它就不再被进一步分割。如果不符合标准,则再次细分为四个区块,并将测试准则应用于这些区块。这个过程反复进行,直到每个块都符合标准。结果可以有几种不同大小的块。

另请参阅

|

之前介绍过的R2006a