Przetwarzanie obrazu
Przekształcenia kontekstowe Liniowe Nieliniowe
- filtry Przekształcenia kontekstowe dokonują transformacji poziomów jasności pikseli analizując za każdym razem nie tylko jasność danego piksela ale również jasności pikseli go otaczających. Najczęściej przekształcenie kontekstowe jest funkcją intensywności pikseli w otoczeniu analizowanego punktu.
Najczęściej wykorzystuje się prostokątne otoczenie badanego piksela numerując piksele w stosunku do piksela środkowego (i,j=0). Otoczenie najczęściej ma szerokość 1 piksela (im większy obszar wkoło piksela tym dłuższy czas obliczania przekształcenia) -1,-1 0,-1 1,-1-1,0 0,0 1,0-1,1 0,1 1,1
2d x +1 2d y +1 Rozmiar okna filtru w i,j Maska filtru Obraz oryginalny Obraz wynikowy
Problem brzegowy
Problem brzegowy rozwiązanie 1
Problem brzegowy rozwiązanie 2
Główne zastosowania: Minimalizacja niepożądanego szumu. Jeśli nie znamy istoty szumu można próbować uśredniać względem otoczenia Wzmocnienie w obrazie elementów pasujących do pewnego wzorca Usunięcie określonych wad obrazu Poprawa pewnych wad technicznych ostrość, poruszenie itp. Rekonstrukcja pewnych części obrazu
Gdzie a i b są obrazami poddawanymi przekształceniu f
Przekształcenia liniowe Najczęściej stosowanym rodzajem filtru liniowego jest Konwolucja (splot) Gdzie w k,l jest wagą jasności piksela w pozycji k,l.
Przekształcenia liniowe filtr uśredniający (dolnoprzepustowy) Piksel przyjmuje wartość średnią liczoną z wszystkich pikseli otoczenia. Uzyskuje się w ten sposób efekt rozmycia obrazu Maska wag 1 1 1 1 1 1 1 1 1
Przekształcenia liniowe filtr uśredniający (dolnoprzepustowy) Wagi są najczęściej liczbami całkowitymi ze względu na potrzebę minimalizowania złożoności obliczeniowej (operacje stałoprzecinkowe vs operacje zmiennoprzecinkowe) Oznacza to potrzebę normalizacji wyników, tak aby zostały ponownie umieszczone w zakresie stopni jasności barwy W przypadku prostych filtrów rolę tą spełnia podział przez sumę wag
Przekształcenia liniowe filtr uśredniający (dolnoprzepustowy) Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia liniowe filtr uśredniający (dolnoprzepustowy) Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia liniowe filtr uśredniający wersje Większa maska Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia liniowe filtr uśredniający wersje Większa waga oryginalnej intensywności piksela Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia liniowe filtr uśredniający wersje Filtr Gaussa maska wzorowana na rozkładzie normalnym (Gaussa)
Przekształcenia liniowe filtr uśredniający wersje Inne maski eliminacja wpływu oryginalnego piksela Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia liniowe filtr uśredniający wersje Inne maski piramidalna i stożkowa
Przekształcenia liniowe filtr uśredniający wersje Inne maski piramidalna i stożkowa
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Filtry górnoprzepustowe (ang. high-pass) przepuszczają i wzmacniają elementy obrazu o dużej częstotliwości, (szumy, drobne szczegóły i krawędzie). Tłumieniu natomiast ulegają elementy o niskiej częstotliwości. Wynikiem działania takich filtrów jest wyostrzenie obrazu, a także zwiększenie ilości szumów. Można tu mówić o swoistym rodzaju różniczkowania sygnału obrazu
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Przykład Gradient Robertsa 0 0 0 1 0 0 0-1 0 Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przykład Gradient Robertsa 0 0 0 1 0 0 0-1 0 255 255 255 255 255 255 255 0 0 = 255 255 255 255 255 255 255 255 255 255 = 0 0 0 0 0 0 0 = 0 0 0 0 0 0 0 0 0 0 0 255 255 = - 255
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Przykład Gradient Robertsa 0 0 0 1 0 0 0-1 0 Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Filtr Robertsa ma kierunkowy charakter. Jest to wynikiem właściwości różniczkowania dwuwymiarowej funkcji, które musi przebiegać wzdłuż określonego kierunku. Dla gradientu Robertsa jest to 45. Kierunek można odwrócić stosując odpowiednią maskę 0 0 0 0 0 1 0-1 0
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Filtr Robertsa jest w rzeczywistości macierzą 2x2 co pozwala na pewną dowolność umiejscowienia jej we właściwej masce 1 0 0-1 0 0 0 1 0 0 0-1 0 0 0 0 0 1 0 0 0-1 1 0 0 0-1 0 0 0 0 0 1 0 0 0-1 0 0 0
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Rozwinięciem gradientu Robertsa są maski Prewitta pozwalające na różniczkowanie obrazu w wielu kierunkach Pozioma maska Prewitta 1 1 1 0 0 0-1 -1-1
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Rozwinięciem gradientu Robertsa są maski Prewitta pozwalające na różniczkowanie obrazu w wielu kierunkach Pozioma maska Prewitta Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Rozwinięciem gradientu Robertsa są maski Prewitta pozwalające na różniczkowanie obrazu w wielu kierunkach Pozioma maska Prewitta Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Maska Prewitta Pozwala na wykrywanie krawędzi w kierunku określanym co 45-1 0 1 0 1 1 1 1 1 1 1 0-1 0 1-1 0 1 0 0 0 1 0-1 -1 0 1-1 -1 0-1 -1-1 0-1 -1 1 0-1 0-1 -1-1 -1-1 -1-1 0 1 0-1 1 0-1 0 0 0-1 0 1 1 0-1 1 1 0 1 1 1 0 1 1
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Maska Prewitta Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Na masce Prewitta bazuje maska Sobela, w której większą wagę przykłada się do bezpośredniego sąsiada analizowanego punktu -1 0 1-2 0 2-1 0 1 1 2 1 0 0 0-1 -2-1
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Prewitt Sobel Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Tak samo jak w przypadku Prewitta maskę Sobela można obracać co 45 Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Wszystkie powyższe filtry produkują krawędzie o wielopikselowej grubości i różnej intensywności precyzyjne wskazanie krawędzi nie jest więc możliwe Różnica między nimi to głównie stopień wrażliwości na szum. Od największej dla filtru Robertsa i stopniowo zmniejszaną przy kolejnych.
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Modyfikacją maski Prewitta jest filtr uwypuklający (Emboss) Wpływ na wartość końcową ma również oryginalna wartość piksela badanego -1 0 1 0 1 1 1 1 1 1 1 0-1 1 1-1 1 1 0 1 0 1 1-1 -1 0 1-1 -1 0-1 -1-1 0-1 -1 1 0-1 0-1 -1-1 -1-1 -1-1 0 1 1-1 1 1-1 0 1 0-1 1 1 1 0-1 1 1 0 1 1 1 0 1 1
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Modyfikacją maski Prewitta jest filtr uwypuklający (Emboss) Wpływ na wartość końcową ma również oryginalna wartość piksela badanego Źródło: http://www.algorytm.org
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Wszystkie powyższe filtry Cechują się asymetrią maski odpowiadającą kierunkowi wykrywania znaczących zmian intensywności pikseli (krawędzi) Istnieje również grupa filtrów mających za zadanie wykryć zmianę niezależnie od jej kierunku. Np. wykrywanie wszystkich krawędzi na obrazie
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Laplasjany (czterospójny) 0-1 0-1 4-1 0-1 0 Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Laplasjany (czterospójny) 0-1 0-1 4-1 0-1 0 Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Laplasjany (ośmiospójny) -1-1 -1-1 8-1 -1-1 -1 Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Laplasjany (ośmiospójny) -1-1 -1-1 8-1 -1-1 -1 Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia liniowe filtr wzmacniający (górnoprzepustowy) Laplasjany (inne maski) 1-2 1-2 4-2 1-2 1-1 0-1 0 4 0-1 0-1 -2 1-2 1 4 1-2 1-2
Przekształcenia nieliniowe Liniowe przekształcenia stosowały tą samą funkcję dla wszystkich punktów obrazu. W przypadku przekształceń nieliniowych dobór przekształcenia następuje na podstawie analizy otoczenia przetwarzanego piksela
Przekształcenia nieliniowe filtry kombinowane Polegają na przetworzeniu obrazu dwoma gradientami ustawionymi prostopadle do siebie. Np. gradienty Sobela Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia nieliniowe filtry kombinowane Połączenie obu wyników z zastosowaniem modułu (uniknięcie wzajemnego niwelowania się wartości dodatnich i ujemnych) Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia nieliniowe filtry kombinowane Połączenie obu wyników z zastosowaniem modułu (uniknięcie wzajemnego niwelowania się wartości dodatnich i ujemnych) Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia nieliniowe filtry kombinowane Analogicznie można postępować wykorzystując maski Prewitta czy Kirscha 5 5 5 5 5-3 5-3 -3-3 0-3 5 0-3 5 0-3 itd -3-3 -3-3 -3-3 5-3 -3
Przekształcenia nieliniowe filtry kombinowane Tzw. Gradient Kirscha Maksymalna wartość z wyników dla 8 kierunków 5 5 5 5 5-3 5-3 -3-3 0-3 5 0-3 5 0-3 itd -3-3 -3-3 -3-3 5-3 -3
Przekształcenia nieliniowe filtry kombinowane Tzw. Gradient Kirscha Źródło: wikipaedia.org
Przekształcenia nieliniowe filtry kombinowane Tzw. Gradient Kirscha Źródło: wikipaedia.org
Przekształcenia nieliniowe operacje logiczne Wykonywane na dwóch obrazach najczęściej binarnych (progowanie) Operatory NOT OR AND SUB XOR NXOR
Przekształcenia nieliniowe operacje logiczne Wykonywane na dwóch obrazach najczęściej binarnych (progowanie) W przypadku obrazów o większej ilości stanów stosuje się tzw logikę rozmytą np:
Przekształcenia nieliniowe operacje logiczne NOT Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia nieliniowe operacje logiczne AND Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia nieliniowe operacje logiczne SUB, XOR, NXOR Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Przekształcenia nieliniowe mediana Nie powoduje rozmycia brzegów nie wprowadza nowych kolorów (poziomów jasności) do obrazu Etapy: posortować wartości L(i,j) w obrębie okna wybrać jako L'(i,j) tę wartość, która znalazła się najbliżej środka zakresu ciągu posortowanego
Przekształcenia nieliniowe mediana Zalety: mediana gauss mediana gauss
Przekształcenia nieliniowe mediana Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda
Wzrost wielkości okna Źródło: Komputerowa analiza i przetwarzanie obrazów, R. Tadeusiewicz, P. Korohoda Przetwarzanie obrazu cyfrowego Przekształcenia nieliniowe mediana
Przekształcenia nieliniowe filtr Kuwahra Dzieli okno na 4 podzbiory, z których wybierany jest wynik Zalety: Dobre wygładzanie obrazu Brak zacierania krawędzi
Przekształcenia nieliniowe filtr Kuwahra Podział okna Jeżeli rozmiar kwadratowego okna jest 2a+1 to kolejne obszary wyznaczane są wg wzoru Obszary zazębiają się
Przekształcenia nieliniowe filtr Kuwahra Dla każdego okna liczona jest średnia arytmetyczna intensywności oraz odchylenie standardowe Jako wynik końcowy przyjmowana jest średnia tego okna, którego odchylenie standardowe jest najmniejsze (obszar najbardziej jednorodny) Źródło: wikipaedia.org
Przekształcenia nieliniowe filtr Kuwahra Dla każdego okna liczona jest średnia arytmetyczna intensywności oraz odchylenie standardowe Jako wynik końcowy przyjmowana jest średnia tego okna, którego odchylenie standardowe jest najmniejsze (obszar najbardziej jednorodny)
Przekształcenia nieliniowe Unsharp Mask Przebieg Utworzenie kopii obrazu Rozmycie kopii filtrem Gaussa Odjęcie kopii od oryginału wyliczenie różnic Jeżeli różnica jest większa od ustawionego zakresu, różnica ta jest przepisywana do nowego obrazu. W przeciwnym wypadku piksel jest przepisywany bez zmian
Przekształcenia nieliniowe Unsharp Mask Efekt Źródło: wikipaedia.org
Canny