Przetwarzanie obrazów Wykład 4 Filtracja obrazu Dr inż. Wojciech Bieniecki Instytut nauk ekonomicznych i informatyki PWSZ PŁOCK wbieniec@kis.p.lodz.pl http://wbieniec.kis.p.lodz.pl
Gdzie potrzebujemy filtrowania Poprawa jakości obrazu - Łatwiejsze oglądanie i analiza ręczna - Przekształcenie w celu zastosowanie metod segmentacji (np. poprzez wykrywanie krawędzi) - Usuwanie szumu Odtworzenie obrazu (restoration) - Nadzorowana rekonstrukcja uszkodzonego obrazu Segmentacja, klasyfikacja, analiza - Operacje morfologiczne na obrazach binarnych - Przekształcenia częstotliwościowe do celów analizy obrazu
Taksonomia metod filtrowania FILTRACJA DZIEDZINA PRZESTRZENNA DZIEDZINA CZĘSTOTLIWOŚCI LINIOWA NIELINIOWA RANGOWE MORFOLOGIA MIESZANE
Filtracja - przypomnienie Filtracja jest przykładem operacji globalnej f I’ I 4
Czym jest filtr liniowy Jest funkcją, która jest: addytywna: jednorodna: gdzie: - Funkcja filtru - obrazy - Wartość rzeczywista 5
Techniki filtracji obrazu Filtracja w dziedzinie częstotliwości Obraz wyjściowy g(x,y) f(x,y) Obraz wejściowy Macierz l. zespolonych F(u,v) Macierz l. zespolonych G(u,v) IFFT FFT X H(u,v) Re(F) Im(F) Macierz l. zesp.
Czym jest splot (konwolucja) Splot funkcji definiujemy równaniem: Przydatne własności splotu funkcji: Łączność: Możemy zastąpić filtr o dużej masce poprzez kilka filtrów o mniejszych maskach rozdzielność: Filtrację dla linii poziomych i pionowych możemy wykonywać osobno i wyniki łączyć 7
Przykład splotu funkcji jednowymiarowych Zastosowanie – tłumienie szumu 8
Splot w przestrzeni dyskretnej Obraz cyfrowy jest dwuwymiarową, dyskretną funkcją (nie ciągłą). Splot definiujemy jako: Filtry definiujemy jako tablice wag w(i,j). Wagi wraz z punktami obrazu f(m-i, n-j) które należą do jądra (kernel) K są używane do obliczenia g(m,n) 9
Filtracja w przestrzeni dyskretnej… … jest więc w praktyce operacją lokalnego sąsiedztwa f I I’ 10
Splot w przestrzeni dyskretnej Wagi w(i,j) są zwykle zbiorem liczb całkowitych w celu przyspieszenia obliczeń. W wyniku powstanie wartość, która nie spełnia poniższego warunku normalizacji: Jeżeli wszystkie wartości w(i,j) są dodatnie, normalizacja polega na podzieleniu wyniku przez sumę wag: W przeciwnym wypadku normalizację wartości przeprowadzamy po przefiltrowaniu całego obrazu 11
Filtracja: przestrzenna i częstotliwościowa obraz wejściowy obraz wynikowy g(x,y) f(x,y) h(u,v)
Dziedzina przestrzenna – przybliżenie dla obrazów cyfrowych 13
Splot – efekty brzegowe 14
Splot – efekty brzegowe 1. Ignorujemy punkty brzegowe – wynikowy obraz będzie mniejszy 2. Ignorujemy punkty brzegowe – wartość koloru interpolujemy lub kopiujemy z obrazu wejściowego 15
Splot – efekty brzegowe 3. Rozszerzamy obraz wejściowy. Potrzebne punkty uzyskujemy poprzez interpolację lub kopiowanie punktów brzegowych or: 4. Przygotowujemy inne jądro (maskę) dla brzegów obrazu 16
Splot – algorytm ogólny 17
Maski splotów – filtry liniowe Filtry te są używane np. do tłumienia szumu. Najprostszą maską jest maska uśredniająca. 1 Obraz wejściowy Obraz zaszumiony Małe zakłócenia znikają Obraz przefiltrowany Zaszumiony obraz po filtracji Wadą jest rozmycie konturów obrazu i zakłócenie ich kształtu. 18
Splot- maska uśredniająca Wynik uśredniania naturalnego obrazu Lena (256x256) pixel
Maski splotu – filtr Gaussa Filtr Gaussa wprowadza mniej niepożądanych zakłóceń do obrazu wynikowego Maska uśredn.3x3 Maska Gaussa Maska uśredn. 5x5 Charakterystyka częstotliwościowa filtrów splotowych 20
Maski splotowe – filtr Gaussa Definicja filtru Gaussa 2 4 8 16 1 4 2 1 8 1 2 4 Przybliżenia maski Gaussa dla różnych wartości d0 21
Wynik filtracji obrazu (uśrednienie i Gauss) 1 1 2 4 22
Obraz LENA. Wielkość 256x256 pikseli, splot maską Gaussa 15x15 Koszt obliczeniowy Wielkość maski – siła filtru Zwiększenie wielkości maski – dramatycznie zwiększa złożoność obliczeniową Dla obrazu 512 x 512 px: 3x3 -> 2,4 mln operacji 5x5 -> 6,5 mln operacji 7x7 -> 16,5 mln operacji Zamiast tego – można użyć transformacji FFT! Obraz LENA. Wielkość 256x256 pikseli, splot maską Gaussa 15x15 23
Filtry górnoprzepustowe i gradienty Filtry górnoprzepustowe uwydatniają zmiany jasności obrazu, które mogą być: Wzorem tekstury krawędziami brzegami konturem liniami Filtry górnoprzepustowe mogą służyć do wyostrzenia obrazu 24
Gradient Roberta wersja 1 wersja 2 -1 1 -1 1 wersja 1 wersja 2 Zwróć uwagę, że wartość wynikowa nie koniecznie będzie z przedziału [0,255]. Po wykonaniu filtracji całego obrazu należy wykonać normalizację (liniowe sklalowanie jasności) 25
Gradient Roberta Obraz wejściowy Obraz wyjściowy – wartości przeskalowano do przedziału [0, 255] Obraz wyjściowy – moduły wartości przeskalowano do przedziału [0, 255] 26
Gradient Roberta dla obrazu naturalnego Wynik - przeskalowano Obraz wejściowy LENA Wynik – przeskalowano moduły wartości 27
Gradient Roberta – kierunki Filtr jest kierunkowy. Głównym kierunkiem jest kąt 45° -1 1 -1 1 28
Gradient Prewitta Filtr również jest kierunkowy. Główne kierunki to poziomy i pionowy. -1 1 -1 1 29
Gradient Prewitta – obraz naturalny -1 1 -1 1 30
Gradient Sobela Jest to filtr gradientowy o dużym wzmocnieniu w lokalnym sąsiedztwie 2 1 -1 -2 1 2 -1 -2 1 2 -1 -2 b) c) a) 1 -1 -2 2 -1 1 2 -2 h) d) -1 -2 1 2 -1 -2 1 2 -2 -1 1 2 f) g) e) 31
Gradient Sobela – obraz sztuczny h) d) g) f) e) 32
Gradient Sobela – obraz naturalny c) h) d) g) f) e) 33
Detekcja narożników Lewo - góra góra Prawo - góra lewy prawy 1 -1 -2 1 -2 -1 1 -2 -1 Lewo - góra góra Prawo - góra 1 -1 -2 -1 1 -2 lewy prawy 1 -1 -2 -1 1 -2 -1 1 -2 Lewy - dół dół Prawy - dół 34
Charakterystyki częstotliwości dla filtrów Laplace’a Laplasjan Jest używany, gdy nie zależy nam na określeniu kierunku zmiany jasności Maska Laplace’a jest przybliżeniem idealnego filtru górnoprzepustowego 1 -8 1 4 -20 35 Charakterystyki częstotliwości dla filtrów Laplace’a
Wyniki splotu Laplace’a 1 4 -20 36
Filtr wyostrzający -1 -4 A+20 -1 -4 20 A Mnożenie = + Jest to przykład kombinacji liniowej filtrów liniowych LAPLACE Obaz wejściowy LENA A = 20 A = 11 A = 4 37
Kombinacje nieliniowe 1. Kombinacje nieliniowe filtrów liniowych są filtrami nieliniowymi 2. Nieliniowe kombinacje gradientów mogą dać lepsze wyniki w odtwarzaniu brzegów, linii, konturów niż filtry Laplace’a 3. Pomysł polega na przefiltrowaniu obrazu przy użyciu ortogonalnych masek i obliczeniu kombinacji otrzymanych obrazów 4. Taka kombinacja nieliniowa odtwarza gładkie kontury, bez względu na ich kierunki 38
Detekcja konturu = = = Alternatywnie: I IH IV IG 39 -1 1 2 -2 -1 1 2 -2 = IV IG -1 -2 1 2 = = Alternatywnie: 39
Przykłady detekcji konturu LAPLACE 40
Taksonomia filtrów nieliniowych NIELINIOWE KOMBINACJE MORFOLOGICZNE RANGOWE Mediana Minimum Erozja Dylatacja Maximum Otwarcie Zamknięcie Definicja filtru nieliniowego nie może być przeniesiona do dziedziny częstotliwości Top hat Bottom hat Wynik działania filtru zależy od typu obrazu i rodzaju zakłóceń. 41