che io mi ricordi, l'algoritmo quad Tree è questo:
prendi un'immagine (quadrata, che viene meglio) e controlli se all'interno dell'immagine tutti i pixel distano tra di loro al massimo di una certa soglia (cioè, la differenza tra il pixel + chiaro e quello + scuro è inferioe a questa soglia);
se questo è il caso, calcola la media dei pixel dell'immagine e sostituisci i valori di tutti i pixel con la nuova media;
Se invece sei al di fuori della soglia, dividi l'immagine in quattro parti uguali (per questo ho detto che sarebbe meglio un'immagine quadrata) e riapplica i confronti fatti in precedenza con le 4 immagini che hai ottenuto.
in questo modo l'immagine processata è composta da un albero a 4 rami, nella cui foglia di ogni ramo ci sta il valore medio dei pixel.
ad esempio, considera questa immagine a scala di grigi in 2 bit:
codice:
0 0 3 3
0 0 3 3
2 2 2 1
2 2 0 0
e metti che la soglia sia 0 (cioè, tutti i pixel devono avere lo stesso colore -> minima compressione dell'immagine)
al primo passo dell'algoritmo la soglia è superata -> dividi l'immagine in 4, ottenendo:
codice:
1) 0 0 2) 3 3 3) 2 2 4) 2 1
0 0 3 3 2 2 0 0
le immagini 1), 2), e 3) sono a posto, visto che tutti i pixel sono omogenei, quindi devi solo dividere l'immagine 4
alla fine, la tua mappa dell'immagine sarà:
codice:
0
00(0) 01(3) 02(2) 03
030(2) 031(1) 032(0) 033(0)
tra parentesi sono i valori medi dei pixel, e immagina che sia una rappresentazione ad albero
qua c'è un'immagine che ti può spiegare meglio:
http://www.ncgia.ucsb.edu/education/...s/figure1.html
mandi mandi