Этот пример показывает, как, применяя порядок биоортогональные фильтры вейвлета могут влиять на реконструкцию изображений.
Сгенерируйте фильтры анализа и синтеза для вейвлета bior3.5
. Загрузите в и отобразите изображение.
[LoD,HiD,LoR,HiR] = wfilters('bior3.5'); load woman imagesc(X) colormap gray
Аналитические фильтры, LoD
и HiD
, имеют 5 исчезающих моментов. Фильтры синтеза, LoR
и HiR
, имеют 3 исчезающих момента. Сделайте пятиуровневое разложение вейвлета изображения с помощью аналитических фильтров.
[c1,s1] = wavedec2(X,5,LoD,HiD);
Найдите порог, который сохраняет только те коэффициенты вейвлета со значениями в лучших 10 процентах. Используйте порог, чтобы установить нижнюю часть 90 процентов коэффициентов к 0.
frac = 0.1;
c1sort = sort(abs(c1),'desc');
num = numel(c1);
thr = c1sort(floor(num*frac));
c1new = c1.*(abs(c1)>=thr);
Восстановите изображение с помощью фильтров синтеза и пороговых коэффициентов. Отобразите реконструкцию.
X1 = waverec2(c1new,s1,LoR,HiR);
figure
imagesc(X1)
colormap gray
Сделайте пятиуровневое разложение вейвлета изображения с помощью фильтров синтеза.
[c2,s2] = wavedec2(X,5,LoR,HiR);
Найдите порог, который сохраняет только те коэффициенты вейвлета со значениями в лучших 10 процентах. Используйте порог, чтобы установить нижнюю часть 90 процентов коэффициентов к 0
frac = 0.1;
c2sort = sort(abs(c2),'desc');
num = numel(c2sort);
thr = c2sort(floor(num*frac));
c2new = c2.*(abs(c2)>=thr);
Восстановите изображение с помощью фильтров синтеза и пороговых коэффициентов. Отобразите реконструкцию. Разложение с фильтром, который имеет 3 исчезающих момента и восстанавливающий с фильтром, который имеет 5 исчезающих результатов моментов в плохой реконструкции.
X2 = waverec2(c2new,s2,LoD,HiD);
figure
imagesc(X2)
colormap gray