Algorithm used to implement the function qtdecomp?

5 vues (au cours des 30 derniers jours)
Joe
Joe le 18 Fév 2025
Commenté : Joe le 19 Fév 2025
I am wondering if anyone is familiar with the algorithm used to implement the qtdecomp function in the image processing toolbox. I am working on my masters thesis and am trying to compare results of my proposed algorithm vs other existing algorithms and the qtdecomp function was a useful tool for early simulation results and I am wanting to be as accurate as possible when comparing my results.

Réponse acceptée

Mike Croucher
Mike Croucher le 18 Fév 2025
Modifié(e) : Mike Croucher le 19 Fév 2025
There is a description of the algorithm on the documentation page qtdecomp. It says
"The qtdecomp function divides a square image into four equal-sized square blocks, and then tests each block to see if it meets some criterion of homogeneity. If a block meets the criterion, it is not divided any further. If it does not meet the criterion, it is subdivided again into four blocks, and the test criterion is applied to those blocks. This process is repeated iteratively until each block meets the criterion. The result can have blocks of several different sizes."
In the comments section you asked about the homogeneity criteria. I asked internally and the default is simply to test if they are all exactly equal. This is also mentioned in the doc. It depends on the syntax used:
S = qtdecomp(I) performs a quadtree decomposition on the grayscale image I and returns the quadtree structure in the sparse matrix S. By default, qtdecomp splits a block unless all elements in the block are equal.
Then for threshold
S = qtdecomp(I,threshold) splits a block if the maximum value of the block elements minus the minimum value of the block elements is greater than threshold.
You can come up with your own function to determine if a block should be split or not:
S = qtdecomp(I,fun) uses the function fun to determine whether to split a block.
Does that help?
  5 commentaires
Mike Croucher
Mike Croucher le 19 Fév 2025
Updated with more details.
Joe
Joe le 19 Fév 2025
That is super helpful, thank you!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Produits


Version

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by