background image

 

 

 

 

 

Projekt FAL 

Mariusz Żelażewski 

s3332 

mariusz@zelazewski.pl

 

background image

Projekt FAL 

 Mariusz Żelażewski, s3332, mariusz@zelazewski.pl 

 

 

Część pierwsza 

Oceń działanie algorytmu usuwania szumu dla różnych falek przy eliminacji 
progowej twardej i miękkiej. Wyjaśnij różnicę między elimi nacją progową 
twardą i miękką. W celu uzyskania filtrów dla innych falek użyj funkcję 
wfilters

MatLab oferuje szereg falek do analizy, możliwe do wykorzystania prezentuje poniższa tabelka: 
 

Wavelet Families 

Wavelets 

Daubechies 

'db1' or 'haar', 'db2', ... ,'db10', ... , 'db45' 

Coiflets 

'coif1', ... , 'coif5' 

Symlets 

'sym2', ... , 'sym8', ... ,'sym45' 

Discrete Meyer 

'dmey' 

Biorthogonal 

'bior1.1', 'bior1.3', 'bior1.5' 
'bior2.2', 'bior2.4', 'bior2.6', 'bior2.8' 
'bior3.1', 'bior3.3', 'bior3.5', 'bior3.7' 
'bior3.9', 'bior4.4', 'bior5.5', 'bior6.8' 

Reverse Biorthogonal  'rbio1.1', 'rbio1.3', 'rbio1.5' 

'rbio2.2', 'rbio2.4', 'rbio2.6', 'rbio2.8' 
'rbio3.1', 'rbio3.3', 'rbio3.5', 'rbio3.7' 
'rbio3.9', 'rbio4.4', 'rbio5.5', 'rbio6.8' 

 
Do oceny działania algorytmu usuwania szumu wykorzystałem falki db4, dmey, bior6.8 i sym2. 
Przetestowałem również różnie poziomy dekompozycji, co pozwoliło mi bardziej przyjrzed się 
zagadnieniu usuwania szumu za pomocą analizy Falkowej. 
 
Dla ułatwienia zmodyfikowałem funkcję denoise tak żeby mogła przyjmowad typ falki jako ostatni 
parametr. 

background image

Projekt FAL 

 Mariusz Żelażewski, s3332, mariusz@zelazewski.pl 

 

 

>> denoise(3,15,'S','db4')  

 eliminacja progowa miękka 

>> denoise(3,15,'H','db4')  

 eliminacja progowa twarda 

 

 

 
 
 

 

Eliminacja progowa miękka                                        Eliminacja progowa twarda 

 

Eliminacja progowa miękka charakteryzuje się widocznym rozmyciem obrazu, natomiast eliminacja 
progowa twarda większą ziarnistością obrazu. Wynika to z działania eliminacji progowej miękkiej, 
która obniża bezwzględną wartośd współczynników o wartośd progową oraz z działania eliminacji 
progowej twardej, która w przypadku, gdy znany jest próg danej skali, może usunąd wszystkie 
współczynniki mniejsze od wartości progowej. 
 

background image

Projekt FAL 

 Mariusz Żelażewski, s3332, mariusz@zelazewski.pl 

 

Inne rodzaje falek 

>> denoise(3,15,'H','dmey') 

 

Discrete Meyer

 

 
>> denoise(3,15,'H','sym2') 

 

Symlets 

 
 

>> denoise(3,15,'H','bior6.8') 

 

Biorthogonal 6.8 

 

 

 

 

 

 

 

 

 

 

 

 

 

Niestety bardzo trudno ocenid, która falka daje lepsze rezultaty przy odszumianiu, natomiast możemy 
zauważyd, że dla falki Biorthogonal 6.8, współczynnik SNR jest najmniejszy z porównywanych falek. 

 

background image

Projekt FAL 

 Mariusz Żelażewski, s3332, mariusz@zelazewski.pl 

 

 

Spróbuj zwiększyć ilość poziomów dekompozycji.  

>> denoise(5,15,'H','db4') 

 

5 poziomów dekompozycji 

 

>> denoise(13,15,'H','db4') 

 

13 poziomów dekompozycji 

Przy zmianie poziomów dekompozycji, można zaobserwowad zmniejszanie się współczynnika SNR 
wraz ze wzrostem ilości poziomów dekompozycji. 

 

background image

Projekt FAL 

 Mariusz Żelażewski, s3332, mariusz@zelazewski.pl 

 

Spróbuj usuwania szumu przy użyciu interfejsu graficznego (Wavelet Toolbox 
GUI) i porównaj wyniki z wynikami otrzymanymi przy użyciu funkcji  denoise. 
Najpierw, posługując się linią rozkazową Matlaba wygeneruj i zachowaj zbiór 
Lena_plus_noise.mat,

 zawierający obraz Lena z szumem, a następnie 

dokonaj importu tego zbioru do GUI.  

Generuj e plik Lena_plus_noise.mat uruchamiając plik lenaplusnoise.m 

>> lenaplusnoise 

Następnie przystępuję do analizy za pomocą GUI 

>> wavemenu 

 

wybieramy Wavelet 2-D 

Wybieramy File -> Load -> Image wybieramy plik Lena_plus_noise.mat. Następnie w prawym górnym 
rogu wybieramy rodzaj falki i potwierdzamy klikając Analyze

background image

Projekt FAL 

 Mariusz Żelażewski, s3332, mariusz@zelazewski.pl 

 

Falka db4 

background image

Projekt FAL 

 Mariusz Żelażewski, s3332, mariusz@zelazewski.pl 

 

Wybieram de-noise z menu po prawej. 

 

De-noise dla falki db4 

background image

Projekt FAL 

 Mariusz Żelażewski, s3332, mariusz@zelazewski.pl 

 

Analiza dla falki bior6.8 

 

Falka bior6.8 

background image

Projekt FAL 

 Mariusz Żelażewski, s3332, mariusz@zelazewski.pl 

10 

 

de-noise dla falki bior6.8  

 

GUI ułatwia proces usuwania szumu z obrazów. Wyniki podobne do uzyskanych za pomocą linii 
komend Matlaba.

background image

Projekt FAL 

 Mariusz Żelażewski, s3332, mariusz@zelazewski.pl 

11 

 

 

Część druga 

Odpowiednio zmodyfikuj funkcję denoise , żeby otrzymać funkcję, która 
najpierw wykona dekompozycję Lena.bmp lub dowolnego innego obrazu na 
zadaną ilość poziomów tak, żeby każdy zawierał aproksymację oraz detale 
poziome, pionowe i diagonalne, a następnie dokona rekonstrukcji. Spróbuj 
dokonać dekompozycji i rekonstrukcji własnego obrazu.  

Do tego celu stworzyłem funkcję denoise2: 

>> denoise2('zyrafa2.bmp',3,15,'H','db4') 

Twoja funkcja dekompozycji i rekonstrukcji powinna generować na każdym 
poziomie dekompozycji rysunek zawierający obraz poprzedniej aproksymacji 
oraz detale poziomy, pionowy i diagonalny aktualnego poziomu.  

  

 

background image

Projekt FAL 

 Mariusz Żelażewski, s3332, mariusz@zelazewski.pl 

12 

 

 

 

 

background image

Projekt FAL 

 Mariusz Żelażewski, s3332, mariusz@zelazewski.pl 

13 

 

Pierwszy poziom dekompozycji 

background image

Projekt FAL 

 Mariusz Żelażewski, s3332, mariusz@zelazewski.pl 

14 

 

Drugi poziom dekompozycji 

background image

Projekt FAL 

 Mariusz Żelażewski, s3332, mariusz@zelazewski.pl 

15 

 

Trzeci poziom dekompozycji 

 

background image

Projekt FAL 

 Mariusz Żelażewski, s3332, mariusz@zelazewski.pl 

16 

 

 

Przy użyciu GUI dokonaj dekompozycji i zrekonstruuj obraz reprezentowany 
przez zbiór Lena.mat, który musi być uprzednio wygenerowany posługując 
sie linią rozkazową Matlab. 

Skrypt służący do generacji pliku Lena.mat (lena.m): 

[X,map] = imread('Lena.bmp'); 
Lena = double(ind2gray(X,map)); 
y = Lena + eta; 
save Lena.mat y 
 

 

Analiza za pomocą GUI – detal diagonalny poziomu 2 

GUI pozwala wykonad tą samą pracę co skrypty Matlaba. Wyniki również są zbliżone.

background image

Projekt FAL 

 Mariusz Żelażewski, s3332, mariusz@zelazewski.pl 

17 

 

 
 

Część trzecia 

Zmodyfikuj recon_mm wprowadzajac poziom progowania jako dodatkowy 
parametr. 

 

 

Odpowiednio zmodyfikuj funkcje mm_atrous_lena, żeby mogła przejąć role 
funkcji mm_atrous wykorzystywanej w oryginalnym  recon_mm. 

 

Zdefiniuj stopień kompresji i wyznacz jego wartość dla różnych poziomów 
progowania, oceniając jednocześnie efekt wizualny, tzn. jakość odtworzonego 
obrazu.