Main Content

La traduzione di questa pagina non è aggiornata. Fai clic qui per vedere l'ultima versione in inglese.

Fusione di immagini

La toolbox richiede solo una funzione per la fusione delle immagini: wfusimg. Informazioni complete su questa funzione sono disponibili nella pagina di riferimento relativa. Per ulteriori dettagli sui metodi di fusione, vedere la funzione wfusmat.

In questa sezione, si apprenderà come:

  • Unire le immagini dalle loro scomposizioni

  • Ripristinare le immagini dalle loro scomposizioni

Il principio della fusione di immagini tramite le wavelet consiste nell’unire le scomposizioni wavelet delle due immagini originali utilizzando metodi di fusione applicati ai coefficienti di approssimazione e ai coefficienti di dettaglio (vedere [MisMOP03] e [Zee98] in Bibliografia).

Le due immagini devono avere le stesse dimensioni e si suppone che siano associate a immagini indicizzate su una mappa a colori comune (vedere wextend per il ridimensionamento delle immagini).

Vengono esaminati due esempi: il primo unisce due immagini diverse che portano a una nuova immagine e il secondo ripristina un'immagine da due versioni sfocate di un'immagine originale.

Fusione di due immagini

Questo esempio mostra come fondere due immagini per creare una nuova immagine.

Caricare le immagini della maschera e del busto.

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

Fondere le due immagini dalle decomposizioni wavelet di livello 5, utilizzando la wavelet db2. Eseguire la fusione considerando la media delle approssimazioni e dei dettagli.

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

Fondere nuovamente le due immagini, ma questa volta eseguire la fusione considerando il massimo delle approssimazioni e il minimo per i dettagli.

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

Tracciare le immagini originali e quelle fuse.

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.

Ripristino dell'immagine da due versioni sfuocate

Questo esempio mostra come ripristinare un'immagine da due versioni sfocate di un'immagine originale.

Caricare due versioni sfocate di un’immagine originale.

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

Fondere le due immagini dalle decomposizioni wavelet di livello 5, utilizzando la wavelet smy4. Eseguire la fusione considerando il massimo valore assoluto dei coefficienti sia per le approssimazioni sia per i dettagli.

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

Tracciare le immagini originali e quelle fuse.

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.

Vedi anche

|