Main Content

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

Fusion d'images

La toolbox ne requiert qu'une seule fonction pour la fusion d'images : wfusimg. Vous trouverez des informations complètes sur cette fonction dans sa page de référence. Pour plus de détails sur les méthodes de fusion, voir la fonction wfusmat.

Dans cette section, vous découvrirez comment :

  • Fusionner des images à partir de leurs décompositions

  • Restaurer des images à partir de leurs décompositions

Le principe de la fusion d'images par ondelettes est de fusionner les décompositions en ondelettes des deux images originales en utilisant des méthodes de fusion appliquées aux coefficients d'approximation et aux coefficients de détails (voir [MisMOP03] et [Zee98] dans Références).

Les deux images doivent avoir la même taille et sont censées être associées à des images indexées sur une même carte de couleurs (voir wextend pour redimensionner les images).

Deux exemples sont examinés : le premier fusionne deux images différentes pour aboutir à une nouvelle image et le second restaure une image à partir de deux versions floues d'une image originale.

Fusionner deux images

Cet exemple montre comment fusionner deux images pour créer une nouvelle image.

Chargez le masque et les images du buste.

load mask
x1 = X;
load bust
x2 = X;

Fusionnez les deux images issues des décompositions en ondelettes au niveau 5 en utilisant l’ondelette db2. Exécutez la fusion en prenant la moyenne pour les approximations et les détails.

wv = 'db2';
lv = 5;
xfusmean = wfusimg(x1,x2,wv,lv,'mean','mean');

Fusionnez de nouveau les deux images, mais cette fois-ci exécutez la fusion en prenant le maximum pour les approximations et le minimum pour les détails.

xfusmaxmin = wfusimg(x1,x2,wv,lv,'max','min');

Tracez les images originales et fusionnées.

subplot(2,2,1)
image(x1)
axis square
title('Mask')
subplot(2,2,2)
image(x2)
axis square
title('Bust')
subplot(2,2,3)
image(xfusmean)
axis square 
title('Synthesized Image: mean-mean')
subplot(2,2,4)
image(xfusmaxmin)
axis square
title('Synthesized Image: max-min')
colormap(map)

Figure contains 4 axes objects. Axes object 1 with title Mask contains an object of type image. Axes object 2 with title Bust contains an object of type image. Axes object 3 with title Synthesized Image: mean-mean contains an object of type image. Axes object 4 with title Synthesized Image: max-min contains an object of type image.

Restaurer une image à partir des deux versions floues

Cet exemple montre comment restaurer une image à partir de deux versions floue d’une image originale.

Chargez deux versions floues d'une image originale.

load cathe_1
x1 = X;
load cathe_2
x2 = X;

Fusionnez les deux images issues des décompositions en ondelettes au niveau 5 en utilisant l’ondelette smy4. Fusionnez les deux images issues des décompositions en ondelettes au niveau 5 en prenant le maximum de la valeur absolue des coefficients pour les approximations et les détails.

wv = 'sym4';
lv = 5;
xfus = wfusimg(x1,x2,wv,lv,'max','max');

Tracez les images originales et fusionnées.

subplot(2,2,1)
image(x1)
axis square
title('Catherine 1')
subplot(2,2,2)
image(x2)
axis square
title('Catherine 2')
subplot(2,2,3)
image(xfus)
axis square 
title('Synthesized Image')
colormap(map)

Figure contains 3 axes objects. Axes object 1 with title Catherine 1 contains an object of type image. Axes object 2 with title Catherine 2 contains an object of type image. Axes object 3 with title Synthesized Image contains an object of type image.

Voir aussi

|