四叉树分解
四叉树分解是一种分析技术,包括把图像分割成块,比图像本身更均匀。这种技术揭示了图像的结构信息。它也是有用的第一步自适应压缩算法。
您可以执行四叉树分解使用qtdecomp
函数。这个函数是通过将一个正方形图像划分为四个大小相同的正方形块,然后测试每一块看看它是否满足某些条件的同质性(例如,如果所有的像素块中的一个特定的动态范围内)。如果一块符合标准,它不是进一步分裂。如果它不符合标准,它又细分为四个模块,测试标准是适用于那些块。这个过程重复迭代,直到每一块符合标准。结果可能有几种不同的块大小。可以作为1×1小块,除非你指定。
qtdecomp
返回四叉树分解稀疏矩阵,同样的大小我
。非零元素代表的左上方角落块。每个非零元素的值表示块大小。
执行四叉树分解的图像
这个例子展示了如何执行四叉树分解在512 - 512灰度级图像。
灰度图像读入工作区。
我= imread (“liftingbody.png”);
四叉树分解通过调用执行qtdecomp
函数作为参数指定图像的同质性和测试标准用来确定每个块的分解。例如,标准可能是一个阈值计算等马克斯(块(:))- min(块(:))> = 0.27
。你也可以供应qtdecomp
与一个函数(而不是一个阈值)决定是否分割块。例如,您可能决定基于块的方差。
S = qtdecomp(我,0.27);
四叉树分解的一块表示。每个黑方块代表一个均匀的块和白线代表块之间的界限。注意对应的块较小的地区大强度的变化图像。
块= repmat (uint8(0)大小(S));为昏暗的= (512 256 128 64 32 16 8 4 2 1];numblocks =长度(找到(S = =昏暗));如果(numblocks > 0)值= repmat (uint8(1),[昏暗昏暗的numblocks]);值(2:昏暗的,2:昏暗的,:)= 0;块= qtsetblk(块,年代,昏暗,值);结束结束块(1:末端)= 1;块(1:结束,结束)= 1;imshow imshow (I),图(块,[])