Fonctions > Traitement d'image > Domaine de transformées > Exemple : Filtrage de transformée des ondelettes
  
Exemple : Filtrage de transformée des ondelettes
Utilisez les fonctions wave2d et iwave2d pour calculer, respectivement, la transformée des ondelettes de niveau n et la transformée inverse des ondelettes. Les ondelettes utilisées sont bi-orthogonales et dérivées de la pyramide laplacienne de Burt-Adelson.
Utilisez la fonction wavescale pour mieux visualiser les images dans le domaine de la transformée.
* 
Les transformées d'ondelettes peuvent parfois représenter des images de manière plus compacte que la transformée de Fourier standard.
Pour plus d'informations sur l'utilisation de cet exemple, voir A propos des exemples de traitement d'image.
Calcul de la transformée des ondelettes de niveau n
1. Lisez dans une sous-image bleue de la représentation en ultraviolets de Jupiter.
Cliquez pour copier cette expression
(jupiter2.gif)
2. Extrayez et affichez le composant de la 3ème couleur de la matrice compressée à 3 couleurs.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
(jup2_ext3.bmp)
3. Configurez le nombre de niveaux puis appliquez les transformées.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
(jup2_scaled.bmp)
La représentation obtenue est typique d'une transformée d'ondelettes : la zone est fractionnée en quatre zones distinctes correspondant à différentes combinaisons de filtrage passe-bas et passe-haut dans les sens horizontaux et verticaux de l'image. Seul l'angle supérieur gauche (partie passe-bas/passe-bas) est significatif en raison des coefficients de cette partie de l'image transformée, qui ont tendance à être plus grands que dans les autres parties, et donc à obscurcir les coefficients inférieurs en cas de mise à l'échelle. Pour remédier à cet effet de masque, une routine est incluse : elle met à l'échelle chaque sous-image d'une transformée, indépendamment des autres.
4. Appliquez la fonction inverse puis vérifiez que l'image reconstruite est identique à l'image d'origine.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
(jup2_rabs.bmp)
La valeur absolue de l'image reconstruite a été prise avant la visualisation. Bien que la transformée des ondelettes garantisse, en théorie, une reconstruction parfaite, des erreurs dues à l'arrondi effectué par l'ordinateur se produisent.
5. Vérifiez que les erreurs d'arrondi sont minimes.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Etant donné que la transformée des ondelettes est constituée de valeurs positives et négatives, il est utile de la remettre à l'échelle avant de la visualiser. Cependant, cette mise à l'échelle provoque souvent le masquage d'informations, comme dans l'image transformée mise à l'échelle ci-dessus.
Visualisation de l'image dans le domaine de la transformée
1. Appliquez la fonction wavescale au N vectorisé.
Cliquez pour copier cette expression
2. Mettez à l'échelle et affichez l'image obtenue.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
(jup2_scaled2.bmp)
Vous pouvez clairement voir l'amélioration apportée à l'affichage lorsque l'indépendance des sous-images est conservée. Si le niveau de la transformée des ondelettes est augmenté, l'utilisation de la fonction wavescale au lieu de scale présente de plus grands avantages.