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.