Main Content

La traduction de cette page n'est pas à jour. Cliquez ici pour voir la dernière version en anglais.

Reconstruction d'images avec des ondelettes biorthogonales

Cet exemple montre comment l'application de filtres d'ondelettes biorthogonales d'ordre différent peut affecter la reconstruction d'une image.

Générez les filtres d'analyse et de synthèse pour l'ondelette bior3.5. Chargez et affichez une image.

[LoD,HiD,LoR,HiR] = wfilters('bior3.5');
load woman
imagesc(X)
colormap gray

Figure contains an axes object. The axes object contains an object of type image.

Les filtres d'analyse, LoD et HiD, ont 5 moments de fuite. Les filtres de synthèse, LoR et HiR, ont 3 moments de fuite. Effectuez une décomposition en ondelettes à cinq niveaux de l'image en utilisant les filtres d'analyse.

[c1,s1] = wavedec2(X,5,LoD,HiD);

Trouvez le seuil qui ne conserve que les coefficients d'ondelettes dont les amplitudes se situent dans les 10 % supérieurs. Utilisez le seuil pour mettre à 0 les 90 % de coefficients les plus bas.

frac = 0.1;
c1sort = sort(abs(c1),'desc');
num = numel(c1);
thr = c1sort(floor(num*frac));
c1new = c1.*(abs(c1)>=thr);

Reconstruisez l'image en utilisant les filtres de synthèse et les coefficients seuillés. Affichez la reconstruction.

X1 = waverec2(c1new,s1,LoR,HiR);
figure
imagesc(X1)
colormap gray

Figure contains an axes object. The axes object contains an object of type image.

Effectuez une décomposition en ondelettes à cinq niveaux de l'image en utilisant les filtres de synthèse.

[c2,s2] = wavedec2(X,5,LoR,HiR);

Trouvez le seuil qui ne conserve que les coefficients d'ondelettes dont les amplitudes se situent dans les 10 % supérieurs. Utilisez le seuil pour mettre à 0 les 90 % de coefficients les plus bas

frac = 0.1;
c2sort = sort(abs(c2),'desc');
num = numel(c2sort);
thr = c2sort(floor(num*frac));
c2new = c2.*(abs(c2)>=thr);

Reconstruisez l'image en utilisant les filtres de synthèse et les coefficients seuillés. Affichez la reconstruction. Décomposer avec un filtre qui a 3 moments de fuite et reconstruire avec un filtre qui a 5 moments de fuite donnent une mauvaise reconstruction.

X2 = waverec2(c2new,s2,LoD,HiD);
figure
imagesc(X2)
colormap gray

Figure contains an axes object. The axes object contains an object of type image.

Voir aussi

| | | |