Слияние изображений

Принцип слияния изображений с использованием вейвлетов состоит в том, чтобы объединить вейвлет-декомпозиции двух оригинальных изображений с помощью методов слияния, применяемых к коэффициентам приближений и коэффициентам деталей. Два изображения должны быть одинакового размера и должны быть связаны с индексированными изображениями на общей палитре (см. Wextend, чтобы изменить размер изображений).

Рассматриваются два примера: первый объединяет два разных изображения, ведущих к новому изображению, а второй восстанавливает изображение из двух нечетких версий оригинального изображения.

Слияние двух разных изображений

Загрузите два оригинальных изображений: маску и бюст.

load mask; X1 = X;
load bust; X2 = X;

Объедините два изображения от вейвлет на уровне 1 с помощью db2 путем принятия двух различных методов слияния: слияния путем взятия среднего значения как для приближений, так и для деталей:

XFUSmean = wfusimg(X1,X2,'db2',1,'mean','mean');

и слияние путем взятия максимума для приближений и минимума для деталей.

XFUSmaxmin = wfusimg(X1,X2,'db2',1,'max','min');

Стройте графики оригинальных и синтезированных изображений.

colormap(map);
subplot(221), image(X1), axis square, title('Mask')
subplot(222), image(X2), axis square, title('Bust')
subplot(223), image(XFUSmean), axis square, 
title('Synthesized image, mean-mean')
subplot(224), image(XFUSmaxmin), axis square, 
title('Synthesized image, max-min')

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

Восстановление слиянием из нечетких изображений

Загрузите две нечеткие версии оригинального изображения.

load cathe_1; X1 = X;
load cathe_2; X2 = X;

Объедините два изображения из вейвлет на уровне 5 с помощью sym4, взяв максимальное абсолютное значение коэффициентов как для приближений, так и для деталей.

XFUS = wfusimg(X1,X2,'sym4',5,'max','max');

Стройте графики оригинальных и синтезированных изображений.

figure('Color','white'),colormap(map);
subplot(221), image(X1), axis square, 
title('Catherine 1')
subplot(222), image(X2), axis square, 
title('Catherine 2')
subplot(223), image(XFUS), axis square, 
title('Synthesized image')

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