Bildfusion
Die Toolbox benötigt nur eine Funktion für die Bildfusion: wfusimg
. Vollständige Informationen zu dieser Funktion finden Sie auf der entsprechenden Referenzseite. Weitere Informationen zu Fusionsmethoden finden Sie unter der wfusmat
-Funktion.
In diesem Abschnitt lernen Sie Folgendes:
Bilder aus ihren Zerlegungen zusammenfügen
Bilder aus ihren Zerlegungen wiederherstellen
Das Prinzip der Bildfusion mithilfe von Wavelets umfasst Folgendes: Die Wavelet-Zerlegungen zweier Originalbilder werden mithilfe der Fusionsmethoden zusammengefügt, die bei Approximations- und Detailkoeffizienten angewendet werden (siehe [MisMOP03] und [Zee98] unter Referenzen).
Die beiden Bilder müssen dieselbe Größe aufweisen und mit indizierten Bildern auf einer gemeinsamen Farbkarte in Zusammenhang stehen (Informationen zum Ändern von Bildgrößen finden Sie unter wextend
).
Es werden zwei Beispiele untersucht: Im ersten Beispiel werden zwei verschiedene Bilder zusammengefügt, woraus ein neues Bild entsteht, und im zweiten wird ein Bild aus zwei unscharfen Versionen eines Originalbildes wiederhergestellt.
Zwei Bilder fusionieren
Dieses Beispiel veranschaulicht, wie Sie zwei Bilder fusionieren, um ein neues Bild zu erstellen.
Laden Sie die Bilder der Maske und der Büste.
load mask x1 = X; load bust x2 = X;
Fügen Sie die beiden Bilder aus Wavelet-Zerlegungen auf Ebene 5 mithilfe des Wavelets db2
zusammen. Führen Sie die Fusion durch, indem Sie den Mittelwert für Approximationen und Details übernehmen.
wv = 'db2'; lv = 5; xfusmean = wfusimg(x1,x2,wv,lv,'mean','mean');
Fügen Sie die beiden Bilder erneut zusammen. Allerdings führen Sie die Fusion dieses Mal aus, indem Sie für die Approximationen das Maximum und für die Details das Minimum verwenden.
xfusmaxmin = wfusimg(x1,x2,wv,lv,'max','min');
Plotten Sie die Original- und die fusionierten Bilder.
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)
Bild aus zwei unscharfen Versionen wiederherstellen
Dieses Beispiel veranschaulicht, wie Sie ein Bild aus zwei unscharfen Versionen eines Originalbildes wiederherstellen.
Laden Sie zwei unscharfe Versionen eines Originalbildes.
load cathe_1 x1 = X; load cathe_2 x2 = X;
Fügen Sie die beiden Bilder aus Wavelet-Zerlegungen auf Ebene 5 mithilfe des Wavelets smy4
zusammen. Führen Sie die Fusion aus, indem Sie für Approximationen und Details das Maximum des Absolutwerts der Koeffizienten übernehmen.
wv = 'sym4'; lv = 5; xfus = wfusimg(x1,x2,wv,lv,'max','max');
Plotten Sie die Original- und die fusionierten Bilder.
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)