Grafika komputerowa Wykład 14 Podstawowe techniki przetwarzania obrazu
Algorytm przetwarzania Zakres i zastosowania przetwarzania obrazów Algorytm przetwarzania Obraz pierwotny Obraz wynikowy Obszary zastosowań: Fotografia cyfrowa (eliminacja szumów, poprawa wyrazistości (kontrastu), korekta ostrości, korekta równowagi bieli, korekta zniekształceń geometrycznych obiektywu, korekta aberacji chromatycznej ...) Technika kinowa (restauracja starych filmów, automatyczne kolorowanie, dodawanie napisów ) Obrazowa diagnostyka medyczna (poprawa rozróżnialności detali, eliminacja tła, wydzielenie interesujących fragmentów obrazu (np. tkanek o określonej gęstości) Fotografia satelitarna i lotnicza (znajdowanie konturów obiektów, automatyczny podział na obszary (segmentacja: lasy jeziora, miasta ...) Zastosowania militarne (przygotowanie obrazów do ekstrakcji cech dla celów rozpoznawania obiektów i lokalizacji przestrzennej – widzenie komputerowe) Techniki DTP i prezentacyjne (montaż obrazów, efekty trickowe)
Przykłady efektów uzyskanych w wyniku przetwarzania obrazów Eliminacja szumu
Przykłady efektów uzyskanych w wyniku przetwarzania obrazów Eliminacja szumu
Przykłady efektów uzyskanych w wyniku przetwarzania obrazów Poprawa równowagi tonalnej
Przykłady efektów uzyskanych w wyniku przetwarzania obrazów Korekcja geometrii
Przykłady efektów uzyskanych w wyniku przetwarzania obrazów Znajdowanie krawędzi
Przykłady efektów uzyskanych w wyniku przetwarzania obrazów Znajdowanie konturu
Przykłady efektów uzyskanych w wyniku przetwarzania obrazów Szkieletyzacja
Przykłady efektów uzyskanych w wyniku przetwarzania obrazów Segmentacja – na podstawie koloru
Przykłady efektów uzyskanych w wyniku przetwarzania obrazów Segmentacja w celu wydzielenia obszarów wewnętrznych i zewnętrznych komory Obraz USG komory serca Segmentacja – na podstawie tekstury
Filtrowanie obrazu – filtry splotowe: Cel: poprawa własności wizualnych: poprawa estetyki, usunięcie zakłóceń, poprawa rozróżnialności szczegółów ekstrakcja cech na potrzeby dalszego przetwarzania (np. rozpoznawania) Splot funkcji (dla przypadku jednej zmiennej): f – funkcja przetwarzana, g – funkcja maski (filtr)
å Filtrowanie splotowe obrazu rastrowego L L’ L w ) , ( * oryginalny W – dwuwymiarowa prostokątna maska filtru 2dx+1 2dy+1 Rozmiar okna filtru å + - = dx i dy j l k kl L w ' ) , ( * wi,j Maska filtru L’ Obraz wynikowy
Filtry dolnoprzepustowe: Własności: Powodują zmniejszenie amplitudy wyższych częstotliwości w widmie obrazu W praktyce – oznacza to rozmycie drobnych detali obrazu ( krawędzi, zakłóceń punktowych itp..) Zastosowanie: Do redukcji szumów Zmiękczenie obrazu Postać maski: Wagi wij są tego samego znaku (zwykle nieujemne) Dla zachowania średniej jasności obrazu – suma wag powinna być równa 1.0 częstotliwość jasność
Własności filtrów dolnoprzepustowych: stopień rozmycia obrazu - zależny od wag wij przypisanych pozycjom maski filtru większa maska filtru – większe rozmycie i dłuższy czas filtrowania zwiększanie maski można zastąpić kilkakrotnym wykonywaniem operacji filtrowania z mniejsza maską Typowe rozmiary filtru: 3x3 5x5 5x9 9x9 Przykłady masek filtrów dolnoprzepustowych o rozmiarze 3x3: 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 2 1 1 4 1 1 12 1 2 4 2 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 Suma wag: S = 9 S = 10 S = 12 S = 20 S = 16
Przykład zastosowania filtru dolnoprzepustowego o masce jednorodnej 5x5
Przykład zastosowania filtru dolnoprzepustowego o masce jednorodnej 3x3 Eliminacja szumu
Filtry górnoprzepustowe: Własności: Powodują podwyższenie amplitudy wyższych częstotliwości w widmie obrazu W praktyce – oznacza to zwiększenie wyrazistosci drobnych detali obrazu ( krawędzi, zakłóceń punktowych itp..) Zastosowanie: Do poprawy jakości wizualnej obrazów nieostrych Detekcja krawędzi i obszarów w obrazie o zmiennej wartości wybranego atrybutu (typowo – jasności). Postać maski: Wagi wij są różnych znaków – odpowiada to operacji różniczkowania funkcji (lub wyliczania ilorazu różnicowego) Jeśli suma wag maski równa 0 – odpowiedź filtru w jednorodnych obszarach obrazu jest zerowa – filtr reaguje tylko na zmiany w obrazie
Przykłady masek filtrów dla poprawiania ostrości obrazu: -1 -1 -1 -1 1 -2 1 -1 -1 9 -1 -1 5 -1 -2 5 -2 -1 20 -1 -1 -1 -1 -1 1 -2 1 -1 Suma wag: S = 1 S = 1 S = 1 S = 16 W przypadku gdy S <> 1 dla zachowania średniej jasności obrazu konieczne podzielenie wyniku filtrowania przez sumę wag S Przykłady masek filtrów dla wykrywania krawędzi (filtry rózniczkujące): -1 -1 1 -1 1 1 poziomy pionowy poziomy + pionowy Wada – filtry takie reagują nie tylko na krawędzie ale też na jednorodne zmiany jasności (obszary cieniowane) Zwykle stosuje się progowanie
Wykrywanie krawędzi za pomocą Laplasjanu Idea: wyznaczyć taka maskę filtru aby przybliżał on nie pierwsza a drugą pochodną funkcji rozkładu atrybutu (typowo jasności lub intensywności składowych modelu barwy) , uzyskamy wtedy nieczułość filtru na jednorodne zmiany jasności Dla funkcji w dziedzinie dyskretnej: Odpowiednia maska splotu: 1 -1 1 -4 1 -1 4 -1 1 -1
Przykład zastosowania filtru laplasjanowego
Inne typowe maski filtrów górnoprzepustowych: Filtr Sobela: poziomy: pionowy: 2 1 1 0 -1 0 0 0 2 0 -2 -1 -2 -1 1 0 -1 Filtr Prewitta: poziomy: pionowy: 1 1 1 0 -1 0 0 0 1 0 -1 -1 -1 -1 1 0 -1 Kierunkowe wykrywanie krawędzi: wschód: południowy wschód: południowy zachód: -1 0 1 -1 -1 0 0 -1 -1 -1 0 1 -1 0 1 1 0 -1 -1 0 -1 0 1 1 1 1 0
Filtrowanie statystyczne (nieliniowe): Filtr medianowy: posortować wartości L(i,j) w obrębie okna wybrać jako L'(i,j) tę wartość, która znalazła się pośrodku ciągu posortowanego Filtr minimalny(dylatacyjny) / maksymalny(erozyjny): wybrać jako L'(i,j) wartość minimalną/maksymalną spośród wartości L(i,j) w obrębie okna Filtr minimalny – poszerza ciemne obszary Filtr maksymalny – poszerza jasne obszary
Przykłady efektów uzyskanych w wyniku przetwarzania obrazów Eliminacja szumu filtrem medianowym
Wyrównywanie histogramu Dystrybuanta obrazu: gdzie: Gęstość prawdopodobieństwa rozkładu jasności:
Wyrównywanie histogramu Dystrybuanta obrazu: gdzie: Gęstość prawdopodobieństwa rozkładu jasności: ciemny jasny h(l) kontrastowy l
Wyrównywanie histogramu Dla obrazów dyskretnych: m,n – rozdzielczość obrazu l – dyskretny poziom jasności (typowo: 0..255) Wyrównanie histogramu – przekształcenie wartości atrybutu (atrybutów) obrazu za pomocą funkcji niemalejącej tak, aby uzyskać wyrównany histogram obrazu wynikowego L'(i,j) = H (L(i,j)) gdzie: H – dystrybuanta obrazu wejściowego, L – wartość atrybutu obrazu wejściowego, L' – wartość atrybutu obrazu wynikowego.
Wyrównywanie histogramu Uzyskiwanie obrazu o zadanej dystrybuancie: L'(i,j) =G-1( H (L(i,j)) ) gdzie G – dystrybuanta wymagana
Przykład zastosowania wyrównywania histogramu:
Lokalna korekcja wartości atrybutów pikseli Wartość atrybutu po przekształceniu zależy tylko od wartości atrybutu przed przekształceniem i przyjętej funkcji przekształcającej (określonej być może stosownie do charakterystyki całego obrazu) Korekcja gamma: Iwe – jasność piksela obrazu pierwotnego Iwy – jasność piksela obrazu wynikowego < 1.0 – rozjaśnianie obrazu > 1.0 – ściemnianie obrazu