Projekt FAL
Mariusz Żelażewski, s3332, mariusz@zelazewski.pl
2
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.
Projekt FAL
Mariusz Żelażewski, s3332, mariusz@zelazewski.pl
3
>> 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.
Projekt FAL
Mariusz Żelażewski, s3332, mariusz@zelazewski.pl
4
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.
Projekt FAL
Mariusz Żelażewski, s3332, mariusz@zelazewski.pl
5
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.
Projekt FAL
Mariusz Żelażewski, s3332, mariusz@zelazewski.pl
6
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.
Projekt FAL
Mariusz Żelażewski, s3332, mariusz@zelazewski.pl
7
Falka db4
Projekt FAL
Mariusz Żelażewski, s3332, mariusz@zelazewski.pl
8
Wybieram de-noise z menu po prawej.
De-noise dla falki db4
Projekt FAL
Mariusz Żelażewski, s3332, mariusz@zelazewski.pl
9
Analiza dla falki bior6.8
Falka bior6.8
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.
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.
Projekt FAL
Mariusz Żelażewski, s3332, mariusz@zelazewski.pl
12
Projekt FAL
Mariusz Żelażewski, s3332, mariusz@zelazewski.pl
13
Pierwszy poziom dekompozycji
Projekt FAL
Mariusz Żelażewski, s3332, mariusz@zelazewski.pl
14
Drugi poziom dekompozycji
Projekt FAL
Mariusz Żelażewski, s3332, mariusz@zelazewski.pl
15
Trzeci poziom dekompozycji
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.
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.