Approximation

Traitement d’images, TP4
Transformations, approximations, compression
ENSEEIHT 2EN
http://oberlin.perso.enseeiht.fr/teaching.html
1. Télécharger les images du jour à l’adresse http://oberlin.perso.enseeiht.fr/cours/
images_TP4.zip. Calculer la DCT (Dicrete Cosine Transform, TCD en français) de l’image boats.bmp (commande dct2). Afficher le résultat, et comparer avec le module de la
TFD : retrouve-t-on les mêmes structures ?
2. Écrire une fonction g = bloc_dct(f,r), qui calcule la DCT par blocs de l’image f , avec
des blocs carrés de taille r ×r. On utilisera de préférence la fonction blockproc de Matlab
pour éviter les boucles.
Appliquer cette transformation à l’image, et affichez le résultat. Vous pouvez zoomer sur
les blocs. Comment sont-ils structurés ? Quelle est l’influence de r ? Écrire la fonction
inverse g = bloc_idct(f,r), la tester.
3. Réaliser une approximation linéaire de l’image boats, en ne sélectionnant que les p × p
coefficients basse-fréquence de la DCT. À partir de quelle valeur de p obtient-on une
qualité correcte ? Quel est alors le taux de compression ?
4. Écrire une fonction g = lin_app(df,p) qui réalise l’approximation linéaire de la question
précédente (df est la DCT de l’image). Calculer l’erreur (EQM ou PSNR) en fonction de
p pour plusieurs valeurs de p, et tracer la courbe obtenue. Faites de même avec les autres
images fournies, et comparer l’évolution de l’erreur.
5. Réaliser une approximation non-linéaire, qui consiste à ne sélectionner que les m plus
grands coefficients de la DCT. Faire de même avec la DCT par blocs, et comparer.
6. Comme dans la question 5, tracer la courbe de l’erreur d’approximation en fonction du
nombre m de coefficients sélectionnés. Comparer les cas de la DCT et de la DCT par
blocs. Comparer les résultats sur les différentes images.
7. (Bonus) Écrire une fonction g = wh(f) qui calcule la transformée de Walsh-Hadamard
discrète 2D. On pourra utiliser la fonction fwht de Matlab. Écrire la fonction inverse, et
tester différentes approximations. Pour quels types d’images est-elle adaptée ?
1