Cyfrowe Przetwarzanie Obrazów Ćwiczenie 3 Algorytmy

Transkrypt

Cyfrowe Przetwarzanie Obrazów Ćwiczenie 3 Algorytmy
Cyfrowe Przetwarzanie Obrazów
Ćwiczenie 3
Algorytmy przetwarzania wstępnego – filtry liniowe
Wprowadzenie
Celem ćwiczenia jest zapoznanie się studentów z
wykorzystującymi operację splotu.
prostymi
filtrami
liniowymi
Filtry wygładzające
Filtry dolno przepustowe stosowane są do rozmycia obrazu oraz do usuwania szumów. Efekt
rozmycia wykorzystuje się przez wykonanie splotu obrazu z odpowiednimi maskami.
Operację splotu dla dyskretnej finkcji obrazowej F i maski W można przedstawić zależnością:
w ( x, y=
) * F ( x, y )
∑ w ( i, j ) F ( x − i, y − j )
i , j∈W
Filtr średniej ruchomej (Średniej arytmetycznej): Jest to najprostszy z możliwych filtrów
wynikiem jego działania jest proste uśrednienie wartości pikseli w oknie filtracji,
przykładowa maska o rozmiarze 3x3 wygląda następująco:
1 1 1
1 9 1 9 1 9 
1 9 1 9 1 9  lub inaczej: 1 1 1 1



9
1 1 1
1 9 1 9 1 9 
Filtr Gaussa (Gaussian Smoothing, Gaussian Blur)
http://homepages.inf.ed.ac.uk/rbf/HIPR2/gsmooth.htm
Jest to filtr wygładzający wykorzystujący rozkład Gaussa. w praktyce wykorzystuje się splot z
dyskretnymi maskami Gaussa:
Poniżej przedstawiony jest przykład maski o rozmiarze 7x7 wyznaczoną dla odchylenia
standardowego σ = 0.84089642:
0.00000067 0.00002292 0.00019117 0.00038771 0.00019117 0.00002292 0.00000067
0.00002292 0.00078633 0.00655965 0.01330373 0.00655965 0.00078633 0.00002292
0.00019117 0.00655965 0.05472157 0.11098164 0.05472157 0.00655965 0.00019117
0.00038771 0.01330373 0.11098164 0.22508352 0.11098164 0.01330373 0.00038771
0.00019117 0.00655965 0.05472157 0.11098164 0.05472157 0.00655965 0.00019117
0.00002292 0.00078633 0.00655965 0.01330373 0.00655965 0.00078633 0.00002292
0.00000067 0.00002292 0.00019117 0.00038771 0.00019117 0.00002292 0.00000067
I jeszcze kilka przykładów:
Filtry wyostrzające
Nieostre maskowanie (unsharp masking):
http://homepages.inf.ed.ac.uk/rbf/HIPR2/unsharp.htm
Filtr nieostrego maskowania służy do uwypuklenia krawędzi i drobnych detali w obrazie,
poprzez odjęcie rozmytego (nieostrego) obrazu od oryginału, w ten sposób pozyskujemy
informację o detalach i krawędziach występujących w obrazie oryginalnym.
Poniżej przedstawiony jest kompletny schemat działania nieostrego maskowania (za HIPR)
g=
( x, y ) f ( x, y ) − f smooth ( x, y )
=
f sharp g ( x, y ) + f ( x, y )
Druga pochodna funkcji obrazowej:
Analogicznie efekt wyostrzenia możemy uzyskać w prostszy sposób stosując filtry bazujące
na drugiej pochodnej funkcji obrazowej (filtr Laplace’a), poniżej przedstawiono dwie
przykładowe maski realizujące filtr Laplace’a:
 0 −1 0 
 −1 4 −1


 0 −1 0 
Efekt wyostrzenia obrazu uzyskamy
masek oraz obrazu oryginalnego:
 −1
 −1

 −1
przez
−1 −1
 1 −2

 −2 4
8 −1

 1 −2
−1 −1
dodanie wyniku splotu z
''
G=
( x, y ) f ( x, y ) − f Lap
( x, y )
1
−2 
1 
jedną z powyższych
Przebieg ćwiczenia
1. Za pomocą skryptów Matlaba zaimplementować i przetestować działanie filtrów
wygładzających:
a. filtr średniej arytmetycznej,
b. filtr Gaussa),
c. Zbadać wpływ rozmiaru jądra filtrów na ich działanie
2. Napisać skrypty Matlaba realizujące
a. nieostre maskowanie
b. filtr wyostrzający oparty na operatorze Laplace’a
c. Porównać wyniki otrzymane obiema metodami.

Podobne dokumenty