Этот пример показывает, как применение биортогональных вейвлет порядка может повлиять на реконструкцию изображения.
Сгенерируйте фильтры анализа и синтеза для 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