Funzioni > Elaborazione immagini > Dominio della trasformata > Esempio: applicazione di un filtro a trasformate wavelet
  
Esempio: applicazione di un filtro a trasformate wavelet
Utilizzare le funzioni wave2d e iwave2d per calcolare rispettivamente la trasformata wavelet di livello n e la trasformata wavelet inversa. La wavelet utilizzata è la base di wavelet biortogonale derivata dalla piramide Laplaciana di Burt-Adelson.
Utilizzare la funzione wavescale per visualizzare meglio le immagini nel dominio della trasformata.
* 
Le trasformate wavelet possono talvolta rappresentare le immagini in modo più compatto rispetto a una trasformata di Fourier standard.
Per informazioni sull'utilizzo di questo esempio, fare riferimento a Esempi di elaborazione delle immagini.
Calcolo della trasformata wavelet di livello n
1. Leggere una sottoimmagine blu dell'immagine ultravioletta di Giove.
Fare clic per copiare questa espressione
(jupiter2.gif)
2. Estrarre e visualizzare il componente del terzo colore della matrice compressa a tre colori.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
(jup2_ext3.bmp)
3. Impostare il numero di livelli, quindi applicare le trasformate.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
(jup2_scaled.bmp)
L'immagine restituita è tipica della trasformata wavelet. La regione viene suddivisa in quattro regioni distinte corrispondenti alle diverse combinazioni di filtro passa basso e a banda passante nelle direzioni orizzontale e verticale dell'immagine. È significativo solo l'angolo superiore sinistro (parte passa basso/passa basso) a causa dei coefficienti presenti in tale parte dell'immagine trasformata che tendono ad essere più grandi rispetto ad altre parti, oscurando di conseguenza i coefficienti più piccoli quando vengono scalati. Per ovviare a questo effetto di mascheramento, è inclusa una routine che scala le singole sottoimmagini di una trasformata indipendentemente dalle altre.
4. Applicare la funzione inversa, quindi verificare che l'immagine ricostruita sia identica all'originale.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
(jup2_rabs.bmp)
Il valore assoluto dell'immagine ricostruita è stato accettato prima della visualizzazione. Anche se in teoria la trasformata wavelet garantisce una ricostruzione perfetta, sono presenti errori dovuti all'arrotondamento nel computer.
5. Verificare che gli errori di arrotondamento siano di lieve entità.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
Poiché la trasformata wavelet include sia valori positivi che negativi, può essere utile riscalare prima della visualizzazione. In seguito a tale operazione è possibile che alcune informazioni vengano nascoste, come nell'immagine della trasformata scalata visualizzata in precedenza.
Visualizzazione dell'immagine nel dominio della trasformata
1. Applicare la funzione wavescale al livello N vettorizzato.
Fare clic per copiare questa espressione
2. Scalare e visualizzare l'immagine risultante.
Fare clic per copiare questa espressione
Fare clic per copiare questa espressione
(jup2_scaled2.bmp)
La visualizzazione risulterà ottimizzata quando si mantiene l'indipendenza tra le sottoimmagini. Se si aumenta il livello della trasformata wavelet, l'utilizzo della funzione wavescale offrirà maggiori vantaggi rispetto a scale.