PRZETWARZANIE OBRAZÓW

Podobne dokumenty
AKWIZYCJA I PRZETWARZANIE WSTĘPNE OBRAZU

AKWIZYCJA I PRZETWARZANIE WSTĘPNE

Filtracja liniowa (metody konwolucyjne, tzn. uwzględniające pewne otoczenie przetwarzanego piksla):

WYKŁAD 7. Obraz z wykrytymi krawędziami: gdzie 1 - wartość konturu, 0 - wartość tła.

maska 1 maska 2 maska 3 ogólnie

POB Odpowiedzi na pytania

Operator rozciągania. Obliczyć obraz q i jego histogram dla p 1 =4, p 2 =8; Operator redukcji poziomów szarości

WYKŁAD 3. Przykłady zmian w obrazie po zastosowaniu Uniwersalnego Operatora Punktowego

Filtracja obrazu operacje kontekstowe

Filtracja obrazu operacje kontekstowe

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 7 AiR III

Przetwarzanie obrazów rastrowych macierzą konwolucji

Przetwarzanie obrazu

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat

Analiza obrazów - sprawozdanie nr 2

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny.

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab

Przekształcenia kontekstowe. Filtry nieliniowe Typowy przykład usuwania zakłóceń z obrazu

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 8 AiR III

Przetwarzanie obrazów wykład 4

Analiza obrazu. wykład 4. Marek Jan Kasprowicz Uniwersytet Rolniczy 2009

Metody komputerowego przekształcania obrazów

PRZETWARZANIE SYGNAŁÓW

Komputerowe obrazowanie medyczne

Obraz jako funkcja Przekształcenia geometryczne

Przekształcenia punktowe

Filtracja splotowa obrazu

Proste metody przetwarzania obrazu

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 9 AiR III

Operacje przetwarzania obrazów monochromatycznych

Rozpoznawanie Twarzy i Systemy Biometryczne

Analiza obrazów. Segmentacja i indeksacja obiektów

Segmentacja przez detekcje brzegów

Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 9. Przetwarzanie sygnałów wizyjnych. Politechnika Świętokrzyska.

Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 11. Filtracja sygnałów wizyjnych

Grafika komputerowa. Dr inż. Michał Kruk

PRZETWARZANIE OBRAZÓW WIT, Studia Dzienne, sem.5, 2006/2007, prowadzący: Marek Doros WYKŁAD 1 Schemat procesu przetwarzania obrazu

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 10 AiR III

WYKŁAD 12. Analiza obrazu Wyznaczanie parametrów ruchu obiektów

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 3 AiR III

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

POPRAWIANIE JAKOŚCI OBRAZU W DZIEDZINIE PRZESTRZENNEJ (spatial image enhancement)

Grafika Komputerowa Wykład 2. Przetwarzanie obrazów. mgr inż. Michał Chwesiuk 1/38

Implementacja filtru Canny ego

Segmentacja obrazu. Segmentacja obrazu

WYKŁAD 14. Informacja obrazowa Ukrywanie informacji w obrazie (Steganografia) Transformaty w przetwarzaniu obrazów

Analiza obrazu. wykład 3. Marek Jan Kasprowicz Uniwersytet Rolniczy 2009

Przetwarzanie obrazów wykład 2

Filtracja obrazów. w dziedzinie częstotliwości. w dziedzinie przestrzennej

FILTRACJE W DZIEDZINIE CZĘSTOTLIWOŚCI

WYKŁAD 10. kodem pierwotnym krzywej jest ciąg par współrzędnych x, y kolejnych punktów krzywej: (x 1, y 1 ), (x 2, y 2 ),...

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

Przetwarzanie obrazu

PRZETWARZANIE OBRAZÓW Sprawozdanie z ćwiczeń. Ćwiczenie 2. Korekcja zniekształceń radiometrycznych

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 2 AiR III

3. OPERACJE BEZKONTEKSTOWE

Zamiana reprezentacji wektorowej na rastrową - rasteryzacja

Metody kodowania wybranych cech biometrycznych na przykładzie wzoru naczyń krwionośnych dłoni i przedramienia. Mgr inż.

Analiza obrazu. wykład 6. Marek Jan Kasprowicz Uniwersytet Rolniczy 2009

Przetwarzanie obrazów wykład 7. Adam Wojciechowski

Filtracja nieliniowa obrazu

ZAGADNIENIA PROGRAMOWE I WYMAGANIA EDUKACYJNE DO TESTU PRZYROSTU KOMPETENCJI Z MATEMATYKI DLA UCZNIA KLASY II

Diagnostyka obrazowa

Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy

Diagnostyka obrazowa

Diagnostyka obrazowa

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski

Detekcja twarzy w obrazie

ALGORYTMY PRZETWARZANIA OBRAZÓW Projekt. Aplikacja przetwarzająca obrazy z możliwością eksportu i importu do programu MS Excel.

Reprezentacja i analiza obszarów

Dane obrazowe. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 12 AiR III

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

Kształcenie w zakresie podstawowym. Klasa 2

Transformata Fouriera i analiza spektralna

Przetwarzanie obrazów. Grupy metod przetwarzania obrazu. Przetwarzanie jednopunktowe. Przetwarzanie jednopunktowe. Przetwarzanie jednopunktowe

Przekształcenie Fouriera obrazów FFT

Politechnika Świętokrzyska. Laboratorium. Przetwarzanie obrazów medycznych. Ćwiczenie 5. Filtracja kontekstowa obrazów.

PRZETWARZANIE SYGNAŁÓW

Przetwarzanie obrazów wykład 6. Adam Wojciechowski

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG

Operacje morfologiczne w przetwarzaniu obrazu

i ruchów użytkownika komputera za i pozycjonujący oczy cyberagenta internetowego na oczach i akcjach użytkownika Promotor: dr Adrian Horzyk

Diagnostyka obrazowa

MATEMATYKA WYKAZ UMIEJĘTNOŚCI WYMAGANYCH NA POSZCZEGÓLNE OCENY DLA KLASY DRUGIEJ

Przetwarzanie i transmisja danych multimedialnych. Wykład 7 Transformaty i kodowanie. Przemysław Sękalski.

Diagnostyka obrazowa

Ćwiczenia z grafiki komputerowej 5 FILTRY. Miłosz Michalski. Institute of Physics Nicolaus Copernicus University. Październik 2015

PLAN WYNIKOWY PROSTO DO MATURY KLASA 1 ZAKRES PODSTAWOWY

Ćwiczenie 3. Właściwości przekształcenia Fouriera

Wymagania edukacyjne z matematyki dla klasy I gimnazjum wg programu Matematyka z plusem

PRZEDMIOTOWY SYSTEM OCENIANIA PROSTO DO MATURY KLASA 1 ZAKRES PODSTAWOWY

Drgania poprzeczne belki numeryczna analiza modalna za pomocą Metody Elementów Skończonych dr inż. Piotr Lichota mgr inż.

Analiza obrazu. wykład 1. Marek Jan Kasprowicz Uniwersytet Rolniczy Marek Jan Kasprowicz Analiza obrazu komputerowego 2009 r.

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Rekonstrukcja obrazu (Image restoration)

Przetwarzanie obrazów wykład 3

Transkrypt:

PRZETWARZANIE OBRAZÓW WYKŁAD 1 Marek Doros

Przetwarzanie obrazów Wykład 1 2 Schemat procesu przetwarzania obrazu Obraz cyfrowy Opis obrazu Obraz Pozyskanie Wstępne przetworzenie obrazu Segmentacja obrazu Analiza obrazu Rozpoznanie i rozumienie obrazu Grafika komputerowa jest to tworzenie obrazów metodami cyfrowymi Wyjście obrazowe Opis obrazu Obraz cyfrowy Obraz

Przetwarzanie obrazów Wykład 1 3 Przetwarzanie obrazów Jest to proces składający się z następujących operacji: 1. Pozyskanie (akwizycja) obrazu i przetworzenie do postaci cyfrowej; 2. Wstępne przetworzenie obrazu, jego filtracja i wyostrzanie, a także jego binaryzacja; 3. Segmentacja obrazu i wydzielenie poszczególnych obiektów oraz ich fragmentów (np. krawędzi i innych linii); 4. Analiza obrazu i wyznaczenie cech obiektów oraz informacji o ich lokalizacji; 5. Rozpoznanie i rozumienie obrazu (identyfikacja klasy).

Przetwarzanie obrazów Wykład 1 4 Podstawowe definicje Obraz Dwuwymiarowa funkcja intensywności światła f(x, y) Wartość funkcji f w przestrzennych współrzędnych x, y określa intensywność (jasność) obrazu w tym punkcie, gdzie: 0 f x, y <

Przetwarzanie obrazów Wykład 1 5 l - Poziom szarości - intensywność obrazu czarno-białego f w punkcie (x, y) gdzie: [L min, L max ] - skala szarości L min l < Lmax M - liczba poziomów szarości M = Lmax Lmin + 1 Przesunięcie skali do zakresu: [0, L] gdzie: l = 0 - czerń l = L - biel (w rozważanej skali szarości)

Przetwarzanie obrazów Wykład 1 6 Dyskretyzacja obrazu Dyskretyzacja funkcji f(x,y): przestrzenna (próbkowanie obrazu) amplitudowa (kwantyzacja poziomu szarości) Obraz cyfrowy Tablica N1xN2 NxN próbek wynikających z dyskretyzacji obrazu (przestrzennej). Każdy element tablicy przechowuje skwantowany poziom szarości (jeden spośród M poziomów). f x, y = f(0, 0) f(0, 1) f(0, NN1-1 1) f(1, 0) f(1, 1) f(1, NN1-1 1) f(nn2-1 1, 0) f NN2-1 1, 1 f(nn2-1 1, NN1-1 1)

Przetwarzanie obrazów Wykład 1 7 Piksel (pel) Element obrazu (picture element). Każdy z elementów tablicy. Przykład: N = 4, 0 l 15 M = 16 15 14 10 0 12 11 5 0 11 4 3 2 3 2 0 1

Przetwarzanie obrazów Wykład 1 8 Rozdzielczość przestrzenna Określa stopień rozróżnialności detali, tym lepsza, im większa wartość N. Rozdzielczość poziomów szarości Tym lepsza, im większa wartość M.

Przetwarzanie obrazów Wykład 1 9 Sąsiedztwo Siatka dyskretna (discrete net)- wzorzec według którego dokonywana jest dyskretyzacja przestrzenna obrazu; linie, oczka, węzły Siatka prostokątna najczęściej stosowana: oczko siatki jest kwadratem Piksel podstawowy element obrazu; odniesienie do oczka lub węzła siatki

Przetwarzanie obrazów Wykład 1 10 Rodzaje sąsiedztwa: np. 8-spójne, 4-spójne Dualizm oczko - węzeł (siatka prostokątna) zachowuje zasady sąsiedztwa np. ośmiospójnego. 3 2 1 4 0 5 6 7 węzły siatki prostokątnej oczka siatki prostokątnej Piksel może być skojarzony z węzłem lub z oczkiem siatki

Przetwarzanie obrazów Wykład 1 11 Paradoks spójności 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 - obiekt spójny 2 - tło: spójne(?) niespójne(?) Przeciwdziałanie: przypisanie różnych rodzajów sąsiedztwa pikselom obiektu i tła

Przetwarzanie obrazów Wykład 1 12 Rzadziej stosowane siatki Siatka sześciokątna (heksagonalna) Siatka trójkątna Siatka heksagonalna Nie zachowuje zasady dualizmu oczko węzeł siatki (sąsiedztwo 6 - spójne przechodzi w 3 - spójne) oczka (sąsiedztwo 6-spójne) węzły (sąsiedztwo 3-spójne)

Przetwarzanie obrazów Wykład 1 13 Dopełnienie Wszystkie piksele obrazu nie należące do danego podzbioru obrazu Dziura Spójna składowa dopełnienia obszaru otoczona przez ten obszar Dopełnienie Podzbiór analizowany Dziura Obszar

Przetwarzanie obrazów Wykład 1 14 Obraz Obszar Spójny podzbiór Przekrój Przecięcie linią prostą obszaru lub obrazu Obszar

Przetwarzanie obrazów Wykład 1 15 Spójny dotyczący podzbioru obrazu, którego dwa dowolne punkty można połączyć łukiem całkowicie zwartym w tym podzbiorze Średnica podzbioru Maksymalna odległość między dwoma dowolnymi pikselami w podzbiorze obrazu

Przetwarzanie obrazów Wykład 1 16 Tło spójne składowe obrazu, które leżą wewnątrz dopełnienia obszaru i otaczają go Obszar wklęsły co najmniej jeden odcinek prostej między dwoma punktami obszaru nie leży całkowicie w tym obszarze.

Przetwarzanie obrazów Wykład 1 17 Obszar wypukły odcinek prostej między dwoma dowolnymi punktami obszaru jest całkowicie zawarty w tym obszarze.

Przetwarzanie obrazów Wykład 1 18 Binaryzacja obrazu Zamiana obrazu f(x, y), którego piksele przyjmują wartości z przedziału <L min, L max > na obraz b(x, y), którego piksele przyjmują wyłącznie wartości 0 lub 1 (1 bit) (pojęcia obiekt - tło ). Realizacja binaryzacji Progowanie, tzn. zadanie progu o wartości Θ Piksele, których poziom szarości przekracza Θ kwalifikowane są do jednej grupy, reszta zaś do drugiej.

Przetwarzanie obrazów Wykład 1 19 Segmentacja obrazu (etykietowanie) Rozbicie obrazu (uprzednio przefiltrowanego i zbinaryzowanego) na fragmenty odpowiadające poszczególnym, widocznym na obrazie obiektom; wydzielenie obszarów obrazu spełniających pewne kryteria jednorodności, np. kolor obszaru, poziom jasności, faktura. Indeksacja wydzielonych obiektów obrazu, tzn. wypełnianie wydzielonych obszarów odpowiadających obiektom sztucznie wprowadzonymi "poziomami szarości". Cel segmentacji Przygotowanie obrazu do etapu właściwego rozpoznawania obiektów, określenia relacji przestrzennych pomiędzy nimi. Segmentacja stanowi poziom pośredni pomiędzy poziomem wstępnego przetwarzania a poziomem analizy obrazu.

Przetwarzanie obrazów Wykład 1 20 Analiza obrazu wyznaczenie cech obiektów (wyodrębnionych uprzednio w procesie segmentacji) przydatnych w procesie właściwego rozpoznawania; cechy charakteryzujące kształty; współczynniki niezmiennicze względem typowych przekształceń obrazów (obroty, przesunięcia, zmiany, skali) współczynniki kształtu, momenty geometryczne. Rozpoznanie obrazu automatyczna identyfikacja klasy, do której można zaliczyć nieznany obiekt (np. obraz).

Przetwarzanie obrazów Wykład 1 21 Histogram - rozkład częstości pojawiania się w obrazie pikseli o zadanych poziomach jasności 15 15 0 0 2 13 13 15 0 0 0 0 7 14 14 0 1 2 3 4 15 14 13 12 11 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Operacje na histogramie rozciąganie wyrównywanie spłaszczenie; cel: normalizacja obrazu przy porównywaniu efekt rozciągania: wyostrzenie obrazu

Przetwarzanie obrazów Wykład 1 22 Wykład MATERIAŁ DO WYKŁADU I ĆWICZEŃ LABORATORYJNYCH: Materiał podstawowy: M. Doros, Przetwarzanie obrazów, Skrypt WSISiZ, (Rozdz.1) Materiał uzupełniający: R.Tadeusiewicz, P.Korohoda: Komputerowa analiza i przetwarzanie obrazów, Kraków 1997. http://winntbg.bg.agh.edu.pl/skrypty2/0098/ (także plik..\pobd\materialy\tadkoroh.pdf na UBIKu) Ćwiczenia Laboratoryjne Materiał podstawowy: M.Doros, A. Korzyńska, M.Przytulska, H.Goszczyńska: Przetwarzanie Obrazów, ćwiczenia laboratoryjne, Skrypt WSISiZ, (Rozdz.1)

AKWIZYCJA I PRZETWARZANIE WSTĘPNE OBRAZU WYKŁAD 2 Marek Doros

Przetwarzanie obrazów Wykład 2 2 Akwizycja (pozyskiwanie) obrazu Akwizycja obrazu - przetworzenie obrazu obiektu fizycznego (f(x, y)) do postaci zbioru danych dyskretnych (obraz cyfrowy) nadających się do dalszegoprzetwarzania. Elementy procesu akwizycji: 1. Oświetlenie obrazu. 2. Formowanie obrazu (optyczne). 3. Detekcja obrazu. 4. Formowanie wyjściowego sygnału z urządzenia (kamera, skaner)

Przetwarzanie obrazów Wykład 2 3 Formy obrazu na poszczególnych etapach procesu akwizycji: optyczna elektryczna cyfrowa Obraz cyfrowy: N x N pikseli. f x, y = f(0, 0) f(0, 1) f(0, N 1) f(1, 0) f(1, 1) f(1, N 1) f(n 1, 0) f N 1, 1 f(n 1, N 1)

Przetwarzanie obrazów Wykład 2 4 Wstępne przetwarzanie obrazu Celem wstępnego przetwarzania obrazu jest redukcja zniekształceń obrazu powstałych w procesie akwizycji Rodzaje zniekształceń: 1. zniekształcenia radiometryczne 2. zniekształcenia geometryczne Korekcja zniekształceń radiometrycznych Zniekształcenia radiometryczne, są spowodowane: nierównomiernością oświetlenia, błędami konwersji oświetlenie sygnał elektryczny (tzn. błędami detekcji)

Przetwarzanie obrazów Wykład 2 5 Proces korekcji radiometrycznej Korekcja sumacyjna jednorodnego jasnego obrazu odniesienia [P od (x,y)]: [KORA(x,y)] [P od (x,y)] [P(x,y)] 0 1 2 0 0 1 1 0 1 1 0 0 1 2 0 1 10 11 12 12 12 10 11 11 13 10 12 10 10 11 11 10 8 8 2 1 8 7 2 3 4 3 3 1 3 2 1 1 P KORA (x, y) = P od (x, y) - KORA(x, y) dla x=1,...n, y=1,...,n, KORA(x,y) - wartość (poziom jasności) piksela obrazu przy zasłoniętym obiektywie (ciemny obraz odniesienia) P od (x,y) - wartość piksela jednorodnego jasnego obrazu odniesienia P KORA (x,y) - wartość piksela jednorodnego jasnego obrazu odniesienia po korekcji sumacyjnej

6 Korekcja iloczynowa. P KORM (x,y) = [P(x,y) KORA(x,y)] KORM (x,y) P(x,y) - wartość piksela obrazu wejściowego KORM(x,y) wartość współczynnika korekcji dla piksla o współrzędnych (x,y) obliczona według wzoru: KORM (x,y)= P KORA max / P KORA (x,y) P KORAmax - maksymalna wartość piksela w obrazie [P KORA (x,y)] P KORM (x,y) - wartość piksela obrazu wynikowego (po korekcji radiometrycznej)

Przetwarzanie obrazów Wykład 2 7 Korekcja zniekształceń geometrycznych Zniekształcenia geometryczne są spowodowane: nieliniowością układów przeglądania nierównoległością płaszczyzn obrazu i elementu fotoczułego kamery prowadzącymi do skrótów perspektywy np. krzywizna ziemi w zdjęciach satelitarnych, skaningowy mikroskop elektronowy, zdjęcia z powietrza do sporządzania map własnościami toru optycznego np.: mikroskopia obrotem kamery zmianami skali

Przetwarzanie obrazów Wykład 2 8 Konieczność usuwania zniekształceń geometrycznych: Pomiary odległości i pól powierzchni, Dopasowywanie obiektów na obrazach, Dopasowywanie obrazów na potrzeby rekonstrukcji obrazu z fragmentów, Tworzenie map, planów na podstawie zdjęć, Nakładania obrysów mapy na zdjęcia satelitarne pogodowe. Nakładanie map rozkładu potencjału elektrycznego na powierzchnie 3D. Realizacja korekcji zniekształceń geometrycznych Aproksymacja transformacji wielomianem Przekształcenia rozciągające Przekształcenia afiniczne

Przetwarzanie obrazów Wykład 2 9 Aproksymacja transformacji wielomianem pierwszego stopnia u=ax + by + c v=dx + ey + f x, y - obraz niezniekształcony, u, v - obraz zniekształcony, punkty kontrolne (niewspółliniowe) (x 1,y 1 ), (x 2,y 2 ), (x 3,y 3 ), (u 1,v 1 ), (u 2,v 2 ), (u 3,v 3 ),

Przetwarzanie obrazów Wykład 2 10

Przetwarzanie obrazów Wykład 2 11 Przykład: Dane: (x 1,y 1 ) = (8,10) (x 2,y 2 ) = (6,4) (x 3,y 3 ) = (10,2) (u 1,v 1 ) = (14,6) (u 2,v 2 ) = (11,7) (u 3,v 3 ) = (10,5) Obraz zniekształcony Znaleźć: obraz skorygowany. (znalezienie a,b,c,d,e,f, rozwiązując 6 równań liniowych 1-go stopnia).

Przetwarzanie obrazów Wykład 2 12 Siatka afiniczna Transformacja lokalna

Przetwarzanie obrazów Wykład 2 13 Histogram - rozkład częstości pojawiania się w obrazie pikseli o zadanych poziomach jasności 15 15 0 0 2 13 13 15 0 0 0 0 7 14 14 0 1 2 3 4 15 14 13 12 11 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Operacje na histogramie rozciąganie wyrównywanie spłaszczenie; cel: normalizacja obrazu przy porównywaniu efekt rozciągania: wyostrzenie obrazu

Przetwarzanie obrazów Wykład 2 14 Odszumianie Szum Zjawisko przypadkowe; zakłócenia wartości pikseli w czasie w przestrzeni Sposoby redukowania szumu: odszumiamie czasowe odszumianie przestrzenne

Przetwarzanie obrazów Wykład 2 15 Uśrednianie czasowe (dotyczy obrazów statycznych NxN liczba pikseli w obrazie. Np. dla N=4 liczba pikseli w obrazie wynosi NxN = 16. 15 14 10 0 12 11 5 0 11 4 3 2 3 2 0 1

Przetwarzanie obrazów Wykład 2 16 P 1 P 1 - wartość pierwszego piksela obrazu Pj Pj = wartość j-tego piksela obrazu P NxN P NxN - wartość ostatniego piksela

Przetwarzanie obrazów Wykład 2 17 P ji - wartość j-tego piksela obrazu w i-tej chwili czasowej P jś - wartość średnia j-tego piksela obrazu w n chwilach czasowych n - liczba pojawień się obrazu i = 1 n NxN liczba pikseli w obrazie j = 1 N x N

Przetwarzanie obrazów Wykład 2 18 Uśrednianie przestrzenne (obrazy statyczne oraz zmienne w czasie) 15 13 15 14 0 15 12 12 14 15 13 15 14 12 15 12 12 14 n = 9 - otoczenie 8-spójne 13 n - liczba pikseli otoczenia (wraz z pikselem przetwarzanym) 14 0 15 12 n = 5 - otoczenie 4-spójne

Przetwarzanie obrazów Wykład 2 19 METODY FILTRACJI OBRAZU Cel filtracji: polepszenie jakości obrazu według zadanych kryteriów Interpretacja częstotliwościowa F.G. - filtracja górnoprzepustowa F.D. - filtracja dolnoprzepustowa

Przetwarzanie obrazów Wykład 2 20 Podstawowe operacje na obrazach operacje jednopunktowe (punktowe) operacje jednopunktowe jednoargumentowe [q(i, j)] = f [p(i, j)] operacje jednopunktowe wieloargumentowe [q(i, j)] = f [p 1 (i, j), p 2 (i, j),..., p k (i, j)] operacje sąsiedztwa (kontekstowe) [q(i, j)] = f [p(i, j), p(i -1, j -1), p(i +1, j +1),..]

Przetwarzanie obrazów Wykład 2 21 Operacje jednopunktowe jednoargumentowe Są to operacje, w których na wartość zadanego piksela obrazu wynikowego o współrzędnych (i, j) ma wpływ wartość tylko jednego piksela obrazu pierwotnego o współrzędnych (i, j): [q(i, j)] = f [p(i, j)] f - operator (liniowy lub nieliniowy) [p(i, j)] [q(i,j)] - obraz pierwotny - obraz wynikowy p(i,j), q(i,j) - wartości piksela o współrzędnych (i, j) obrazu pierwotnego i wynikowego

Przetwarzanie obrazów Wykład 2 22 Rodzaje operacji jednopunktowych jednoargumentowych Operacja identyczności q(i,j) = p(i,j) dla L min p L max Dla L min = 0, L max = 15 (czyli M = 16): [q] = [p] 15 15 0 0 2 13 13 15 0 0 0 0 7 14 14 0 1 2 3 4 15 14 13 12 11

Przetwarzanie obrazów Wykład 2 23 Operacja odwrotności (negacji): q(i,j) = L max p(i,j) dla L min p L max Dla L min = 0, L max = 15 (czyli M=16): q(i,j) = 15 p(i,j) [q] 0 0 15 15 13 2 2 0 15 15 15 15 8 1 1 15 14 13 12 11 0 1 2 3 4

Przetwarzanie obrazów Wykład 2 24 Operacja progowania (binaryzacji) p 1 = 5 q = 0 dla p p 1 1 dla p > p 1 1 1 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 1 1 1 1 1

Przetwarzanie obrazów Wykład 2 25 Odwrotna operacja progowania (binaryzacji) p 1 = 5 q = 1 dla p p 1 0 dla p > p 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 0 0 0 0 0

Przetwarzanie obrazów Wykład 2 26 Operacje progowania przedziałami (binarne)

Przetwarzanie obrazów Wykład 2 27 Operacje progowania z zachowaniem poziomów szarości Dla L min = 0, L max = 15 (czyli M=16) Z zachowaniem identyczności q = p dla p 1 p 1 p 2 0 dla p < p 1, p > p 2 Z zachowaniem odwrotności (negacji) q = Lmax p dla p 1 p p 2 0 dla p < p 1, p > p 2 p 1 = 2, p 2 = 12 p 1 = 2, p 2 = 12

Przetwarzanie obrazów Wykład 2 28 Operacje progowania z zachowaniem poziomów szarości 15 15 0 0 2 13 13 15 0 0 0 0 7 14 14 0 1 2 3 4 15 14 13 12 11 0 0 0 0 2 0 0 0 0 0 0 0 7 0 0 0 0 2 3 4 0 0 0 12 11 0 0 0 0 13 0 0 0 0 0 0 0 8 0 0 0 0 13 12 11 0 0 0 3 4 [p(i,j)] [q 1 (i,j)] [q 2 (i,j)]

Przetwarzanie obrazów Wykład 2 29 Operacja rozciągania do pełnego zakresu poziomów jasności {0, Lmax} Opis matematyczny: q= (p p 1 ) 15 p 2 p 1 dla p 1 p p 2 0 dla p < p 1, p > p 2 Interpretacja geometryczna: Zastosowanie: polepszanie kontrastowości obrazu Zadanie: Na podstawie zadanego obrazu [p] obliczyć obraz [q] i jego histogram dla p 1 =4, p 2 =8

Przetwarzanie obrazów Wykład 2 30 Operacja rozciągania do zadanego zakresu poziomów jasności {q3, q4} przy zadanym poziomie jasności tła q5 gdzie 0 q3 Lmax, 0 q4 Lmax; q3<q4 Warunek na rozciąganie: p2-p1<q4- q3 Opis matematyczny: q= (p p 1 ) q 4 q 3 p 2 p 1 +q 3 dla p 1 p p 2 q 5 dla p < p 1, p > p 2 Interpretacja geometryczna: Zadanie: Na podstawie zadanego obrazu [p] obliczyć obraz [q] i jego histogram dla p 1 =4, p 2 =8, q 3 =5, q 4 =10, q 5 =2.

Przetwarzanie obrazów Wykład 2 31 Operacja redukcji poziomów szarości Przykład dla L min = 0, L max = 15 (czyli M=16) q = 0 dla p p 1 q 2 dla p 1 < p p 2 q 3 dla p 2 < p p 3 q 4 dla p 3 < p p 4 15 dla p 4 < p 15 Wyznaczyć obraz [q] i jego histogram dla: p1 = 2, p2 = 4 p3 = 6 p4 = 8; q2 = 3, q3 = 6, q4 = 9; Posteryzacja: p2-p1=p3-p2=.; q2-q1=q3-q2=.;

Przetwarzanie obrazów Wykład 2 32 Obraz pierwotny [p(i,j)] i jego histogram 15 15 0 0 2 13 13 15 0 0 0 0 7 14 14 0 1 2 3 4 15 14 13 12 11 8 7 6 5 4 3 2 1 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Zadanie Przedstawiony powyżej obraz przekształcić przy zastosowaniu kilku wybranych operacji jednopunktowych w celu a) wyodrębnienia jasnych obiektów, b) polepszenia rozróżnialności detali wchodzących w skład jasnych obiektów. Przedstawić obrazy wynikowe oraz sporządzić ich histogramy.

Przetwarzanie obrazów Wykład 2 33 Tablica LUT (Look - Up Table) Jest to tablica obrazująca zasadę szybkiego wyznaczania wielkości będących wynikami realizacji zadanego odwzorowania. W przypadku operacji na obrazach: gdzie: [p(i,j)] - obraz pierwotny, [q(i,j)]- obraz wynikowy [q(i, j)] = f [p(i, j)] f - operator odwzorowujący wartości pikseli obrazu [p(i,j)] na wartości pikseli obrazu [q(i,j)]

Przetwarzanie obrazów Wykład 2 34 Zasada działania tablicy LUT Dyskretne wartości argumentu p są indeksami (adresami) elementów tablicy zawierających wartości q.

Przetwarzanie obrazów Wykład 2 35 Przykładowe zastosowania tablicy LUT Zastosowanie1: Uniwersalna Operacja Jednopunktowa (Uniwersalna Operacja Punktowa (UOP)) UOP obejmuje operacje identyczności, odwrotności, progowania, rozciągania itd. indeksy tablicy: wartości kolejnych poziomów jasności obrazu pierwotnego elementy tablicy: odpowiednie poziomy jasności pikseli obrazu wynikowego. Także: Uniwersalna Operacja Punktowa w postaci wykresu. Dwa przykłady operacji na wykresie: a) regulacja jasności obrazu, b) regulacja kontrastowości obrazu Zastosowanie2: Histogram; indeksy tablicy: wartości kolejnych poziomów jasności obrazu pierwotnego, elementy tablicy: liczby pikseli (lub względne zawartości pikseli) o zadanych poziomach jasności. Także: Histogram w postaci wykresu.

Przetwarzanie obrazów Wykład 2 36 Operacje jednopunktowe dwuargumentowe i wieloargumentowe Są to operacje, w których na wartość zadanego piksela obrazu wynikowego o współrzędnych (i,j) mają wpływ tylko wartości pikseli obrazów pierwotnych (argumentów) o współrzędnych (i,j): c ij = f D (a ij, b ij ) f D - operator arytmetyczny lub logiczny (dodawanie, odejmowanie, mnożenie, dzielenie, logarytm, OR, AND, XOR...) c i,j - wartość piksela obrazu wynikowego (w przypadku otrzymania ułamka następuje zaokrąglenie do najbliższej, większej od niego liczby całkowitej) a i,j, b i,j - wartości pikseli obrazów pierwotnych

Przetwarzanie obrazów Wykład 2 37 Operacje jednopunktowe dwuargumentowe - arytmetyczne: Dodawanie c ij = (a ij + b ij ) k k - liczba obrazów; przykład: k = 2, Przykładowe zastosowania: redukcja zakłóceń (p. uśrednianie czasowe), rozjaśnianie obrazu (dla k=1 niezależnie od liczby obrazów)

Przetwarzanie obrazów Wykład 2 38 Operacje jednopunktowe dwuargumentowe - arytmetyczne: Odejmowanie 1-szy etap: a ij -b ij 2-gi etap: c ij = a ij -b ij Przykładowe zastosowania: porównywanie obrazów, przyciemnianie obrazu

Przetwarzanie obrazów Wykład 2 39 Operacje jednopunktowe dwuargumentowe - arytmetyczne: Mnożenie Przykładowe zastosowania: korekcja nieliniowości, tworzenie okna. korekcja nieliniowości Przykład: k = 1 c ij = k[(a ij x b ij ) + a ij ] obraz [a ij ] współczynniki korekcji b ij obraz [c ij ]

Przetwarzanie obrazów Wykład 2 40 Operacje jednopunktowe dwuargumentowe - arytmetyczne: Mnożenie tworzenie okna c ij = a ij x b ij Przykład: b ij = 1 - wewnątrz okna 0 - poza oknem obraz [a ij ] współczynniki korekcji b ij obraz [c ij ]

Przetwarzanie obrazów Wykład 2 41 Operacje jednopunktowe dwuargumentowe - logiczne Podstawowe operacje logiczne : Argumenty operacji: p, q; wynik: r AND iloczyn logiczny ( p q = r ) : wynik jest prawdą, jeśli oba argumenty operacji są prawdą, OR - suma logiczna (alternatywa ( p q = r )): wynik jest prawdą, jeśli przynajmniej jeden z argumentów operacji jest prawdą, XOR wyłączanie (alternatywa wykluczająca): wynik jest prawdą, jeśli jeden i tylko jeden z argumentów jest prawdą. AND OR XOR p q r p q r p q r 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 1 1 0 1 1 1 1 1 1 1 1 1 0

Przetwarzanie obrazów Wykład 2 42 W operacjach jednopunktowych dwuargumentowych logicznych na obrazach działania prowadzone są na odpowiednich pikselach obrazów stanowiących argumenty danej operacji. W szczególności działania prowadzone są na bitach o tej samej wadze.

Przetwarzanie obrazów Wykład 2 43 Przykład : Operacja AND: [p] [q] = [r] Obraz [p] : 0 0 0 1 0 1 1 15 14 0 1 0 15 13 2 2 1 0 14 0 1 0 0 0 0 Obraz [q]: 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 0000 0000 0000 0001 0000 0001 0001 1111 1110 0000 0001 0000 1111 1101 0010 0010 0001 0000 1110 0000 0001 0000 0000 0000 0000 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110

Przetwarzanie obrazów Wykład 2 44 0000 0000 0000 0001 0000 0001 0001 1111 1110 0000 0001 0000 1111 1101 0010 0010 0001 0000 1110 0000 0001 0000 0000 0000 0000 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 1110 Obraz [r]: 0000 0000 0000 0000 0000 0000 0000 1110 1110 0000 0000 0000 1110 1100 0010 0010 0000 0000 1110 0000 0000 0000 0000 0000 0000 0 0 0 0 0 0 0 14 14 0 0 0 14 12 2 2 0 0 14 0 0 0 0 0 0

Przetwarzanie obrazów Wykład 3 44 MATERIAŁ DO WYKŁADU I ĆWICZEŃ LABORATORYJNYCH: Wykład Materiał podstawowy: M. Doros, Przetwarzanie obrazów, Skrypt WSISiZ, (Rozdz.2.2, 3.2) Materiał uzupełniający: R.Tadeusiewicz, P.Korohoda: Komputerowa analiza i przetwarzanie obrazów, Kraków 1997 (Rozdz. 3.1, 3.2, 3.3) http://winntbg.bg.agh.edu.pl/skrypty2/0098/ (także plik..\pobd\materialy\tadkoroh.pdf na UBIKu) Ćwiczenia Laboratoryjne Materiał podstawowy: M.Doros, A. Korzyńska, M.Przytulska, H.Goszczyńska: Przetwarzanie Obrazów, ćwiczenia laboratoryjne, Skrypt WSISiZ, (Rozdz.2, 3, 4)

OPERACJE SĄSIEDZTWA WYKŁAD 3 Marek Doros

Przetwarzanie obrazów Wykład 3 2 OPERACJE SĄSIEDZTWA Są to operacje, w których na wartość zadanego piksela obrazu wynikowego q o współrzędnych (i,j) mają wpływ wartości pikseli pewnego otoczenia piksela obrazu pierwotnego p o współrzędnych (i,j):

Przetwarzanie obrazów Wykład 3 3 Podział operacji sąsiedztwa: operacje wygładzania operacje wyostrzania Operacje wygładzania stanowią praktyczną realizację filtracji dolnoprzepustowej (FD) i dzielą się na operacje filtracji liniowej i nieliniowej. Operacje filtracji nieliniowej dzielą się na operacje filtracji logicznej i medianowej. Operacje wyostrzania stanowią praktyczną realizację filtracji górnoprzepustowej (FG) i dzielą się na operacje filtracji gradientowej i laplasjanowej

Przetwarzanie obrazów Wykład 3 4 Operacje wygładzania Podstawowe zadanie wygładzania: usuwanie zakłóceń z obrazu Filtracja liniowa (metody konwolucyjne, tzn. uwzględniające pewne otoczenie przetwarzanego piksela): g x, y = n k=1 w k f k x, y n - liczba punktów (pikseli) otoczenia wraz z pikselem przetwarzanym f(x,y) - wartość piksela o współrzędnych x,y obrazu pierwotnego g(x,y) - wartość piksela o współrzędnych x,y obrazu wynikowego w k - waga k-tego piksela otoczenia

Przetwarzanie obrazów Wykład 3 5 Przykład obraz [f(x,y)] 14 15 13 15 [f(x,y)] otoczenie 3x3 [g(x,y)] 12 14 0 15 13 12 12 14 15 14 14 12 15 13 15 14 0 15 12 12 14 15 13 15 14 11 15 12 12 14 w 1 x-1,y-1 w 4 x,y-1 w 7 x+1,y-1 x średnia ważona w 2 x-1,y w 5 x,y w 8 x+1,y w 3 x-1,y+1 w 6 x,y+1 w 9 x+1,y+1 y g x, y = w 1 f x 1, y 1 + w 2 f x 1, y + w 3 f x 1. y + 1 + w4f x, y 1 + w5f x, y + w6f x, y + 1 + w7f x + 1, y 1 + w8f x + 1, y + w9f(x + 1, y + 1) Ruchoma średnia Filtracja liniowa

Przetwarzanie obrazów Wykład 3 6 Sposoby zapisu operacji filtracji liniowej (wygładzanie liniowe) 1. Za pomocą macierzy wag 2. Za pomocą maski filtracji dolnoprzepustowej (FD) Macierz wag Maska filtracji dolnoprzepustowej 1/9 1/9 1/9 1 1 1 1/9 1/9 1/9 1/9 1/9 1/9 1 1 1 1 1 1 K = 1/9 K - współczynnik maski

Przetwarzanie obrazów Wykład 3 7 Przykłady macierzy wag i masek operacji filtracji liniowej Macierz wag 1/10 1/10 1/10 Maska filtracji dolnoprzepustowej 1/10 2/10 1/10 1/10 1/10 1/10 1 1 1 1 2 1 1 1 1 K = 1/10 1/16 2/16 1/16 2/16 4/16 2/16 1/16 2/16 1/16 1 2 1 2 4 2 1 2 1 K = 1/16 Kwestie związane z liniową operacją filtracji dolnoprzepustowej(fd): Wpływ poziomu jasności przetwarzanego piksela na wynik operacji Histogram obrazu pierwotnego a histogram obrazu wynikowego

Przetwarzanie obrazów Wykład 3 8 Filtracja nieliniowa (wygładzanie nieliniowe) Filtracja logiczna Filtracja medianowa Filtracja logiczna Otoczenie piksela 4-spójne - dyskusja 3-ch warunków a X = a if a = d else X eliminacja izolowanych punktów i poziomych linii o pojedynczej grubości b x c X = b if b = c else X eliminacja izolowanych punktów i pionowych linii o pojedynczej grubości d X = a if a = b = c = d else X eliminacja izolowanych punktów

Przetwarzanie obrazów Wykład 3 9 Przykład zastosowania w obrazach binarnych 1) 2) 3) 1 1 1 0 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 0 1 Otoczenie piksela 8-spójne - dyskusja 2 dodatkowych warunków: 1. Eliminacja izolowanych punktów i linii pojedynczej grubości o nachyleniu 45 2. Eliminacja izolowanych punktów i linii pojedynczej grubości o nachyleniu -45

Przetwarzanie obrazów Wykład 3 10 Filtracja medianowa (wygładzanie medianowe) Usuwanie zakłóceń bez rozmywania krawędzi (por. metodę filtracji liniowej) Mediana - wartość środkowa (w sensie położenia w ciągu wartości uporządkowanych)

Przetwarzanie obrazów Wykład 3 11 Metoda filtracji liniowej (wygładzanie liniowe) w k =1/9 K=1/9 p śr i, j = k9 p k 9 j i 15 15 14 13 14 14 14 13 0 12 1 1 12 11 12 0 0 1 1 10 0 0 0 0 1 [p(i,j)] 15 15 14 13 14 14 11 10 11 12 1 6 6 8 12 0 2 3 5 10 0 0 0 0 1 [q(i,j)]

Przetwarzanie obrazów Wykład 3 12 Metoda filtracji medianowej (wygładzanie medianowe): p(i,j): q(i,j): [q(i,j)] 15 15 14 13 14 14 14 13 12 12 1 1 1 11 12 0 0 1 1 10 0 0 0 0 1 p(2,2): 1 1 12 13 14 14 14 15 15 p(2,3): 0 1 11 12 13 13 14 14 15 p(2,4): 0 11 12 12 12 13 13 14 14 p(3,2): 0 0 1 1 1... p(3,3): 0 0 1 1 1... p(3,4): 0 1 1 10 11... p(4,2): 0 0 0 0 0... p(4,3): 0 0 0 0 1... p(4,4): 0 0 1 1 1...

Przetwarzanie obrazów Wykład 3 13 Metody operacji na pikselach wchodzących w skład skrajnych kolumn i wierszy tablic reprezentujących obrazy pierwotne 1. Pozostawienie wartości pikseli bez zmian 2. Wartości pikseli są nieokreślone (xxxxxxxxxx) 3. Nadanie pikselom wartości arbitralnie zadanych przez operatora (np. same wartości 0, 15, 10 itd. 4. Operacje z zastosowaniem kolumn i wierszy pomocniczych ( zdublowanie skrajnych wierszy i kolumn) 5. Operacje z wykorzystaniem pikseli z istniejącego sąsiedztwa. Lewa skrajna kolumna (oprócz pikseli górnego i dolnego rogu) kierunki 0,1,2,6,7, Lewa skrajna kolumna piksel w górnym rogu kierunki 0, 6,7, Lewa skrajna kolumna (piksel w dolnym rogu) kierunki 0,1,2, Prawa skrajna kolumna (oprócz pikseli górnego i dolnego rogu) kierunki 2,3,4,5,6, Prawa skrajna kolumna piksel w górnym rogu kierunki 4,5,6, Prawa skrajna kolumna (piksel w dolnym rogu) kierunki 2,3,4, Górny skrajny wiersz (oprócz pikseli z lewego i prawego rogu) kierunki 4,5,6,7,0 Dolny skrajny wiersz (oprócz pikseli z lewego i prawego rogu) kierunki 0,1,2,3,4.

Przetwarzanie obrazów Wykład 3 14 Metoda 1 Przykład dla operacji wygładzania medianowego Przykładowy obraz pierwotny 15 15 14 13 14 14 14 13 0 12 1 1 12 11 12 0 0 1 1 10 0 0 0 0 1 15 15 14 13 14 14 14 13 12 12 1 1 1 11 12 0 0 1 1 10 0 0 0 0 1 Problem: wyznaczyć wartości skrajnych kolumn i wierszy przykładowego obrazu pierwotnego za pomocą 4 pozostałych metod (2, 3, 4, 5) dla operacji wygładzania liniowego i medianowego Kierunki: 3 2 1 4 0 5 6 7

Przetwarzanie obrazów Wykład 3 15 Operacje wyostrzania Metoda: konwolucja + maska filtracji górnoprzepustowej(fg). W wyostrzaniu stosuje się metody numeryczne aproksymujące pochodną. Zadanie wyostrzania: podkreślenie na obrazie konturów obiektów podkreślenie na obrazie punktów informatywnych (np. wierzchołki dla wielokątów, zakończenia, skrzyżowania, rozgałęzienia linii dla rysunków technicznych, wykresów lub pisma). Model zadania wyostrzania: wydobycie i uwypuklenie krawędzi obiektu.

Przetwarzanie obrazów Wykład 3 16 Opis matematyczny operacji wyostrzania Model krawędzi: linia prosta separująca dwa obszary o różnej intensywności (jasności) I 1 i I 2. Użycie funkcji u(z) do matematycznego opisu krawędzi Założenia: Krawędź leży wzdłuż linii prostej opisanej równaniem: x sin φ - y cos φ + ρ = 0 (postać normalna prostej) Intensywność obrazu: f (x, y) = I 1 + (I 2 I 1 ) u (x sin φ - y cos φ + ρ)

Przetwarzanie obrazów Wykład 3 17 Pochodne cząstkowe: Właściwości kierunkowe operatorów różnicowych wpływ orientacji krawędzi na wartości operatorów różnicowych.

Przetwarzanie obrazów Wykład 3 18 Wektor: - gradient intensywności (poziomów jasności) Kwadrat długości: Operator wykrywania krawędzi; Własności: symetryczny ze względu na obrót i działa tak samo na wszystkie krawędzie o różnych kierunkach, nieliniowy.

Przetwarzanie obrazów Wykład 3 19 Drugie pochodne cząstkowe f(x,y) Własności: symetryczny ze względu na obrót, zachowuje znak różnicy intensywności, operator liniowy częściej stosowany niż inne - wyostrzanie

Przetwarzanie obrazów Wykład 3 20 Wyostrzanie Użycie cyfrowych aproksymacji gradientu i laplasjanu Gradient: Moduł gradientu: G x, y = G x 2 + G y 2 gdzie: G x, G y - cyfrowe aproksymacje pochodnych.

Przetwarzanie obrazów Wykład 3 21 Cyfrowa wersja gradientu Pochodna pionowa G x funkcji f(x,y) maska: y-1 y y+1 x-1-1 -2-1 x x+1 0 0 0 1 2 1 Pochodna pozioma G y funkcji f(x,y) maska: y-1 y y+1 y x-1 x x+1-1 0 1-2 0 2-1 0 1

Przetwarzanie obrazów Wykład 3 22 Cyfrowa wersja laplasjanu L(x, y) = [ f (x + 1, y) + f (x - 1, y) + f (x, y + 1) + f (x, y - 1) - 4 f (x, y)] maska: y-1 y y+1 x-1 x x+1 0 1 0 1-4 1 0 1 0 Gradient: wrażliwy na intensywność zmiany; używany tylko do detekcji krawędzi; Laplasjan: podaje dodatkową informację o położeniu piksela względem krawędzi (po jasnej czy po ciemnej stronie). Krawędź Zbiór pikseli na krzywej mający taką właściwość, że piksele w ich sąsiedztwie, lecz po przeciwnych stronach krzywej różnią się w dostatecznym stopniu pod względem poziomów jasności. Uwaga: Dla operacji wyostrzania współczynnik maski K=1

Przetwarzanie obrazów Wykład 3 23 Przykłady f(x,y) L(x,y) jasna strona (-4) f(x,y) 0 1 0 1-4 1 0 1 0 L(x,y) g(x,y) jasna strona (-4) ciemna strona (+8)

Przetwarzanie obrazów Wykład 3 24 Efekt: Obraz o wzmocnionych konturach obiektów. Wyostrzenie: złożenie obrazów: wejściowego, po operacji zadanej laplasjanem, następnie przeskalowanie stopni szarości (jak w operacjach jednopunktowych). a) b) c) d) e) 0-1 0-1 -1-1 1-2 1-1 -1-1 0-1 0-1 4-1 -1 8-1 -2 4-2 -1 9-1 -1 5-1 0-1 0-1 -1-1 1-2 1-1 -1-1 0-1 0

Przetwarzanie obrazów Wykład 3 25 Krawędź w obrazie widoczna w przekroju (xz) obraz pierwotny po obróbce gradientowej (1-sza pochodna) po obróbce laplasjanowej (2-ga pochodna) Krawędź Pierwsza pochodna Druga pochodna f x 2 f x 2 Operator gradientowy -1 0 +1 Operator typu drugiej pochodnej -1 0 +1

Przetwarzanie obrazów Wykład 3 26 Krawędź w obrazie widoczna w przekroju (xz) a) obraz pierwotny b) obraz wynikowy po obróbce laplasjanowej i po dodaniu w sposób ważony jasności odpowiednich pikseli c) maska laplasjanu Rezultat uwypuklenie (wzmacnianie) krawędzi (edge enhancement) a) b) 3 3 3 3 4 5 6 7 7 7 7 7 3 3 3 2 4 5 6 8 7 7 7 7 c) Wartość punktów -1 2-1

Przetwarzanie obrazów Wykład 3 27 Filtracja dwuetapowa: 1szy etap maska f, 2gi etap (filtracja obrazu otrzymanego po 1-szym etapie) maska g Filtracja jednoetapowa równoważna filtracji dwuetapowej: maska m Liczenie wartości elementów maski m (rozmiar 5x5 ) na podstawie masek f i g (rozmiary 3x3) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 f1 f2 f3 0 0 0 0 f4 f5 f6 0 0 0 0 f7 f8 f9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Maska f (rozmiar 3x3), współczynnik maski Kf

Przetwarzanie obrazów Wykład 3 28 Maska g (rozmiar 3x3), współczynnik maski: Kg g1 g2 g3 g4 g5 g6 g7 g8 g9 Maska m (rozmiar 5x5), Współczynnik maski: Km = Kf*Kg m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m11 m12 m13 m14 m15 m16 m17 m18 m19 m20 m21 m22 m23 m24 m25 m1 = 0*g1+0*g2+0*g3+0*g4+0*g5+ +0*g6+0*g7+0*g8+ f1*g9 m2= 0*g1+0*g2+0*g3+0*g4+0*g5+ +0*g6+0*g7+f1*g8+ f2*g9 m3=0*g1+0*g2+0*g3+0*g4+0*g5+ +0*g6 +f1*g7+f2*g8+ f3*g9 : m25=f9*g1+0*g2+0*g3+0*g4+0*g5+ 0*g6+0*g7+0*g8+ 0*g9

Przetwarzanie obrazów Wykład 3 29 Przykładowe podstawienie: f1=f2=f3= =f9=1, g1=g2=g3 =g9=1 Maska g: 1 1 1 1 1 1 1 1 1 Maska f: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 Maska wynikowa m: 1 2 3 2 1 2 4 6 4 2 3 6 9 6 3 2 4 6 4 2 1 2 3 2 1 Współczynnik maski : Km = Kf*Kg = 1/9*1/9 = 1/81 0 0 0 0 0 0 0 m1 = 0*g1+0*g2+0*g3+0*g4+0*g5+ +0*g6+0*g7+0*g8+ f1*g9 m2= 0*g1+0*g2+0*g3+0*g4+0*g5+ +0*g6+0*g7+f1*g8+ f2*g9 m3=0*g1+0*g2+0*g3+0*g4+0*g5+ +0*g6 +f1*g7+f2*g8+ f3*g9 : m25=f9*g1+0*g2+0*g3+0*g4+0*g5+ 0*g6+0*g7+0*g8+ 0*g9

Przetwarzanie obrazów Wykład 3 30 Metody skalowania tablic obrazów wynikowych Cel skalowania: sprowadzanie wartości pikseli do zakresu [0, (M-1)] Metoda 1 (proporcjonalna) Własność Równomierne przeskalowanie wszystkich pikseli obrazu. Końcowy efekt: obraz z zakresu [0, (M-1)]

Przetwarzanie obrazów Wykład 3 31 Metoda 2 (trójwartosciowa) Zastosowanie obrazy o jednolitym tle i dobrze widocznych obiektach - np. obrazy binarne. Efekt: czarno-biała krawędź na szarym tle. Metoda 3 (obcinająca)

Przetwarzanie obrazów Wykład 3 32 MATERIAŁ DO WYKŁADU I ĆWICZEŃ LABORATORYJNYCH: Wykład Materiał podstawowy: M. Doros, Przetwarzanie obrazów, Skrypt WSISiZ, (Rozdz.3.3, 3.4) Materiał uzupełniający: R.Tadeusiewicz, P.Korohoda: Komputerowa analiza i przetwarzanie obrazów, Kraków 1997 (Rozdz. 3.4) http://winntbg.bg.agh.edu.pl/skrypty2/0098/ (27.03.2017) (także plik..\pobz\materialy\tadkoroh.pdf na UBIKu) Ćwiczenia Laboratoryjne Materiał podstawowy: M.Doros, A. Korzyńska, M.Przytulska, H.Goszczyńska: Przetwarzanie Obrazów, ćwiczenia laboratoryjne, Skrypt WSISiZ, (Rozdz.5, 6)

DETEKCJA KRAWĘDZI, TRANSFORMATY WYKŁAD 4 (metoda specjalnego gradientu, metoda uzgadniania wzorca, detektory wzrostu, histogram 2D, transformata Hough a, transformata Fouriera) Marek Doros

Przetwarzanie obrazów Wykład 4 2 Detekcja wykrywanie krawędzi (edge detection) Jest to technika segmentacji obrazu, polegająca na znajdowaniu pikseli krawędziowych przez sprawdzanie ich sąsiedztwa. Krawędź Zbiór pikseli na krzywej mający taką właściwość, że piksele w ich sąsiedztwie, lecz po przeciwnych stronach krzywej mają różne poziomy jasności. (Krzywa dyskretna: Zbiór pikseli siatki prostokątnej (rastru prostokątnego) z których każdy (oprócz pikseli końcowych) posiada nie mniej niż 2 i nie więcej niż 3 sąsiadów odpowiednio skonfigurowanych (w sensie sąsiedztwa 8-mio lub 4-spójnego). Piksele końcowe: 1-2 sąsiadów.) Cel detekcji znalezienie lokalnych nieciągłości w poziomach jasności obrazu oraz granic obiektów zawartych w obrazie.

Przetwarzanie obrazów Wykład 4 3 Przykłady masek FG detekcji krawędzi maska 1 maska 2 maska 3 y-1 y y+1 ogólnie x-1 1-2 1-1 -1-1 0-1 0 w 1 w 2 w 3 x -2 5-2 -1 9-1 -1 5-1 w 4 w 5 w 6 x+1 1-2 1-1 -1-1 0-1 0 w 7 w 8 w 9 Obliczanie wartości piksela obrazu wynikowego Uwaga W przypadku operacji wyostrzania oraz detekcji krawędzi macierz wag oraz maska są równoważne. Oznacza to, że współczynnik maski K=1.

Przetwarzanie obrazów Wykład 4 4 Przykład f(x,y) g(x,y) FG Np. dla maski drugiej: g(2,2) = -32 + 36 = 4 g(2,3) = -20-24 + 36 = -8; g(2,4) = -12-40 + 72 = 20 g(2,5) = -64 + 72 = 8 Typowe wymiary masek: 3 x 3 5 x 5 9 x 9 Czas obliczeń: x 1 x 2,7 x 9 Poziom jasności: - obiekty, tło: g(x,y) 0 - krawędzie: g(x,y) L max

Przetwarzanie obrazów Wykład 4 5 Metoda specjalnego gradientu Stosowana w przypadkach, gdy metody filtracji górnoprzepustowej (FG) powodują wzmocnienie zakłóceń w obszarach leżących wewnątrz konturu. Zasada Krawędź uznana jest za istniejącą, jeśli wartość gradientu intensywności w pewnych punktach przekracza ustalony próg. Metody aproksymacji: Robertsa, Sobela, Prewitta. Oznaczenia pikseli: f 0 f 1 f 2 f 3 f 4 f 5 (i,j) f 6 f 7 f 8

Przetwarzanie obrazów Wykład 4 6 Metoda Robertsa gdzie: R(i,j) - specjalny gradient w punkcie (i,j) α - kierunek gradientu intensywności. Metoda Sobela dwie składowe gradientu:

Przetwarzanie obrazów Wykład 4 7 Maski konwolucyjne Roberts 1 0 0-1 0-1 1 0 Sobel: -1 0 1-1 -2-1 -2 0 2 0 0 0-1 0 1 1 2 1 G x G y G x G y Prewitt: 1 0-1 1 0-1 1 0-1 1 1 1 0 0 0-1 -1-1 G x G y

Przetwarzanie obrazów Wykład 4 8 Przykład: [p(i,j)] j [q(i,j)] j 1 0 0-1 2 5 6 2 3 7 3 x 0-1 G x 1 0 G y i 3 1 3 4 2 3 5 1 i 1 4 3 x x x x x operator Robertsa Maska konwolucyjna Gx = p(i, j) - p(i + 1, j + 1); Gy = p(i +1, j) - p(i, j +1) Gxy =IGxI + IGyI ; q(1,1) = I2-1I + I5-3I = 1 + 2 = 3

Przetwarzanie obrazów Wykład 4 9 operator Sobela -1 0 1-2 0 2-1 0 1 G x -1-2 -1 0 0 0 1 2 1 G y i [p(i,j)] 3 4 2 5 1 2 1 6 5 2 3 5 7 1 3 4 2 5 7 1 2 5 1 3 2 j i [q(i,j)] x x x x x x 13 x x x x x x x x x x j S x = [p(i - 1,j +1) + 2p(i, j +1) + p(i + 1, j + 1)]- - [p(i - 1,j - 1) + 2p(i, j - 1) + p(i + 1, j 1)] S y = [p(i + 1,j - 1) + 2p(i + 1, j) + p(i + 1, j + 1)] - [p(i - 1,j - 1) + 2p(i - 1, j) + p(i - 1, j + 1)] S S S x x y dla piksela p(2,2): 3 2 4 12 3 7 11 3 8 2 3 10 7 7 2 2, y 11 7 170 13

Przetwarzanie obrazów Wykład 4 10 Zalety i wady metody gradientowej: nieuwydatnianie zakłóceń (tak jak w FG) w obrazach o małej kontrastowości kłopoty z interpretacją wyników Wniosek: Konieczność zastosowania techniki opartej na metodzie poszukiwania krawędzi o z góry zadanym kształcie.

Przetwarzanie obrazów Wykład 4 11 Metoda uzgadniania wzorca Uzgadnianie obrazu metodą konwolucji ze wzorcem danej, idealnej krawędzi, tzn. z maską krawędzi. Maski Prewitta do detekcji krawędzi w formie narożników o różnych ustalonych kierunkach: N NE E SE 1 1 1 1 1 1-1 1 1-1 -1 1 1-2 1-1 -2 1-1 -2 1-1 -2 1-1 -1-1 -1-1 1-1 1 1 1 1 1 S SW W NW -1-1 -1 1-1 -1 1 1-1 1 1 1 1-2 1 1-2 -1 1-2 -1 1-2 -1 1 1 1 1 1 1 1 1-1 1-1 -1

Przetwarzanie obrazów Wykład 4 12 Metoda Kirscha Wartość piksela (i, j)jest zmieniana według wzoru: gdzie: S k = f k + f k+1 + f k+2 T k = f k+3 + f k+4 + f k+5 + f k+6 + f k+7 f - obraz źródłowy, g - obraz wynikowy Numeracja pikseli: 0 1 2 7 i,j 3 6 5 4 Indeksy punktów obrazu f - wartości modulo 8

Przetwarzanie obrazów Wykład 4 13 Maski odpowiadające operatorowi Kirscha (maski Kirscha) N NE E SE 3 3 3 3 3 3-5 3 3-5 -5 3 3 0 3-5 0 3-5 0 3-5 0 3-5 -5-5 -5-5 3-5 3 3 3 3 3 S SW W NW -5-5 -5 3-5 -5 3 3-5 3 3 3 3 0 3 3 0-5 3 0-5 3 0-5 3 3 3 3 3 3 3 3-5 3-5 -5

Przetwarzanie obrazów Wykład 4 14 Porównanie operatorów Prewitta i Kirscha [p(i,j)] 15 15 14 13 14 14 14 13 12 12 4 5 12 11 12 5 3 4 5 6 j SW 1-1 -1 1-2 -1 1 1 1 Prewitt i 1 0 3 2 4 q 22 = 15 + 14 + 4 + 15 + 12 28 15 14 13 = 10 q 23 = 15 + 14 + 15 + 12 + 11 26 14 13 12 = 2 q 32 = 14 + 4 + 5 + 3 + 4 30 14 13 12 = 39 [q(i,j)] x x x x x x -10 2-1 x x -39-19 -18 x x -24-11 -14 x x x x x x j q 42 = 4 + 5 + 1 + 3 6 15 12 4 = 24 q 33 = 14 + 15 + 3 + 4 + 5 24 13 12 11 = 19 q 43 = 15 + 3 + 3 + 4 8 12 11 5 = 11 q 24 = 14 + 13 + 12 + 11 + 12 24 13 14 12 = 11 q 34 = 13 + 12 + 4 + 5 + 6 22 12 12 12 = 18 q 44 = 12 + 4 + 3 + 4 + 2 10 11 12 6 = 14 i

Przetwarzanie obrazów Wykład 4 15 i i [p(i,j)] 15 15 14 13 14 14 14 13 12 12 4 5 12 11 12 5 3 4 5 6 1 0 3 2 4 [q(i,j)] x x x x x x x x -105 x x x x x x x x j j q 22 = q 23 = SW 3-5 -5 3 0-5 3 3 3 Kirsch q 32 = 3 14 + 3 4 + 3 5 + 3 3 + 3 4-5 14-5 13-5 12 = 42 + 12 + 15 + 9 + 12 70 65 60 = -105 q 42 = q 33 = q 43 = q 24 = q 34 = q 44 =

Przetwarzanie obrazów Wykład 4 16 Przykład 2 [p(i,j)] 4 4 8 8 8 4 4 8 8 8 4 4 8 8 8 4 4 4 4 4 j SW 1-1 -1 1-2 -1 1 1 1 Prewitt i 4 4 4 4 4 q 22 = 4 + 4 + 4 + 4 + 8 8 4 8 8 = -4 q 23 = 4 + 4 + 4 + 8 8 16 8 8 8 = -12 q 32 = 4 + 4 + 4 + 4 + 4 8 4 8 8 = -8 [q(i,j)] x x x x x x -4-12 0 x x -8-20 -12 x x -4-8 -4 x x x x x x j q 42 = 4 + 4 + 4 + 4 + 4 8 4 8 4 = -4 q 33 = 4 + 4 + 4 + 4 + 4 16 8 8 8 = -20 q 43 = 4 + 4 + 4 + 4 + 4 8 8 8 4 = -8 q 24 = 8 + 8 + 8 + 8 + 8 16 8 8 8 = 0 q 34 = 8 + 8 + 4 + 4 + 4 16 8 8 8 = -12 q44 = 8 + 4 + 4 + 4 + 4 8 8 8 4 = -4 i

Przetwarzanie obrazów Wykład 4 17 i i [p(i,j)] 4 4 8 8 8 4 4 8 8 8 4 4 8 8 8 4 4 4 4 4 4 4 4 4 4 [q(i,j)] x x x x x x x x -40 x x x x x x x x j j q 22 = q 23 = SW 3-5 -5 3 0-5 3 3 3 Kirsch q 32 = 12 + 12 + 12 + 12 + 12 20 40 40 = 60 100 = -40 q 42 = q 33 = q 43 = q 24 = q 34 = q 44 = Wniosek Operator Kirsch a jest bardziej czuły na zmiany wartości pikseli niż operator Prewitta.

Przetwarzanie obrazów Wykład 4 18 Elementy segmentacji Obraz z wykrytymi krawędziami

19 Detektory wzrostu (DTW) Różnica bezpośrednia: r x, 1 gdy f ( x, y) f ( x, y 1) T y 0 gdy f ( x, y) f ( x, y 1) T Różnica bezwzględna: Gdzie 1 wartość konturu, 0 - wartość tła R(x, y) = 3f(x, y) f(x, y + 1) f(x + 1, y) f(x + 1, y + 1) y r x, y Przetwarzanie obrazów Wykład 4 1 0 gdy R( x, y) T gdy R( x, y) T Obliczenie R(x,y): konwolucja oraz maska: x 3-1 -1-1 Przykład zastosowania: detekcja krawędzi obiektu nierówno oświetlonego

Przetwarzanie obrazów Wykład 4 20 Detekcja krawędzi na podstawie histogramów dwuwymiarowych (H2D) Efekt: poprawa ciągłości linii brzegowej Piksele: Wnętrza obiektów, Zakłócenia, Tło, Elementy faktury tła, Kontury Obraz pierwotny [p(i,j)] Obraz wynikowy [q(i,j)] (np. po operacji gradientu)

Piksle tła 21

Przetwarzanie obrazów Wykład 4 22 Sposób postępowania 1. Odpowiednio przygotowany obraz źródłowy (po korekcji radiometrycznej, geometrycznej i po przetworzeniu metodami jednopunktowymi) zostaje przekształcony gradientowo lub za pomocą laplasjanu. 2. Tworzenie histogramu 2D na podstawie obrazu źródłowego i przetworzonego. 3. Wyodrębnianie na histogramie dwuwymiarowym grup skupień punktowych należących do tła, obiektu i konturu (promieniste przeszukiwanie okolic centrów poszczególnych grup z uwzględnieniem gradientu przyrostu wartości). 4. Współrzędne obszarów wyodrębnionych jako kontur tworzą dalej zbiór wartości, według którego tworzony jest końcowy, zbinaryzowany obraz zawierający poszukiwane kontury. Metoda ułatwia selekcję punktów pośrednich i ich klasyfikację do punktów brzegowych.

Przetwarzanie obrazów Wykład 4 23 Metoda analizy otoczenia Technika logicznej analizy otoczenia stosowana do obrazów binarnych, wykorzystuje metodę różnicy bezwzględnej, działa na zasadzie sprawdzania wartości poszczególnych punktów obrazu i zaznaczania jako punktów brzegowych tych, które zawierają w swoim otoczeniu równocześnie w mniej więcej równej ilości punkty obiektu i tła. Oznaczanie otoczenia punktu x 0 x 2 x 3 x 0 x 1 x 4

Przetwarzanie obrazów Wykład 4 24 Implementacja metody - formuła logiczna x 0 = x 0 ~ x 1 x 2 x 3 x 4 gdzie: ~ negacja, koniunkcja Poprawa ciągłości linii brzegowej: filtr pionowy filtr poziomy Pocienianie (zmniejszanie szerokości linii brzegowej obiektu): x 0 = x 0 x 1 x 2 x 3 x 4 - z wykorzystaniem operatora koniunkcji Wielokrotne wykonywanie operacji zależnie od potrzebnej szerokości linii. Pogrubianie linii brzegowej x 0 = x 0 x 1 x 2 x 3 x 4 - z wykorzystaniem operatora alternatywy

Przetwarzanie obrazów Wykład 4 25 Kolejność działań: Kilkakrotne pocienianie ( erozja ) - likwidacja izolowanych ciemnych punktów oraz gałązek. Wielokrotne pocienianie i pogrubianie: 1 - obraz; 0 - tło Po kilkakrotnym pocienianiu erozji wykonuje się tyle samo razy operację pogrubiania dylatacji. Efekt operacji: Wzmocnienie zachowanych linii, usunięcie drobnych przerw (uciąglenie); oznacza to radykalne polepszenie jakości obrazu ( w sensie przygotowania do kolejnych etapów procesu rozpoznawania obrazu tzn. segmentacja, analiza, rozpoznanie właściwe).

Przetwarzanie obrazów Wykład 4 26 Badanie cech linii Zadanie - wykrywanie (detekcja): nieciągłości zakrzywień zamkniętości otwartości wklęsłości wypukłości

Przetwarzanie obrazów Wykład 4 27 Badanie zakrzywień (krzywizny) linii Czy zakrzywienia (jeśli istnieją) mieszczą się w granicach tolerancji Metody: śledzenie linii brzegowej z jednoczesną kontrolą jej współczynników, zliczanie punktów w oknie przesuwającym się pionowo lub poziomo (w zależności od położenia linii) od punktu startowego linii brzegowej. metoda maskowa - z dowolnym przesuwem maski (okna)

Przetwarzanie obrazów Wykład 4 28 Metoda maskowa Detekcja krzywych w oknie 3x3 a b c d e f g h i k(1) = a b k(2) = b c k(3) = a d k(4) = c f k(5) = h i k(6) = g h k(7) = f i k(8) = d g Zaleta Niezależnie od kierunku przeszukiwania wykrywa krzywizny poziome i pionowe.

Przetwarzanie obrazów Wykład 4 29 Badanie ciągłości linii brzegowej Metody: śledzenie linii brzegowej różnicy bezwzględnej filtru logicznego Metoda filtru logicznego realizacja maszynowa przybiera postać maski a b c d e f g h i gdzie M - znacznik nieciągłości Efekty: krawędzie skuteczniej i doskonałej wydobywane za pomocą operatorów ekstrakcji linii, pocieniania, uciąglania itp. niż laplasjanem.

Przetwarzanie obrazów Wykład 4 30 Transformata Przekształcenie matematyczne odwracalne i bezstratne, przenoszące sygnał z jednej przestrzeni na inną, w której wygodniej dokonywać pewnych analiz lub kompresji informacji, ponieważ w przestrzeni docelowej uwypuklane są cechy sygnału istotne z punktu widzenia celu.

Przetwarzanie obrazów Wykład 4 31 Detekcja krawędzi z wykorzystaniem Transformaty Hougha (TH) Proces (omówiony wcześniej) detekcji linii daje pojedyncze elementy (piksele) poszukiwanej krawędzi. Kolejny etap: aproksymacja linii (prostych i krzywych) na podstawie tych wyodrębnionych (wydobytych) elementów. Metody: grafów, projekcji, transformacji Hougha (największa praktyczna przydatność).

Przetwarzanie obrazów Wykład 4 32 Transformacja Hougha (TH) Metoda detekcji krzywych (nie pikseli (!) - co jest realizowane przez detekcję krawędzi lub segmentację) oparta na dualności pomiędzy punktami na krzywej a parametrami tej krzywej. Zaleta TH: działa dobrze nawet wówczas, gdy ciągłość krawędzi nie jest zachowana (np. z powodu szumów) Krzywa analityczna o postaci f(x,a) = 0 gdzie x punkt obrazu, a - wektor parametrów. Przykład: Detekcja prostych w obrazie, stąd: f(x,a) - równanie prostej.

Przetwarzanie obrazów Wykład 4 33 Przestrzeń obrazu Równanie normalne prostej: x cosj + y sinj =r Założenie: Piksele o niezerowej wartości są elementami krawędzi. Jeśli piksel (x,y) leży na prostej znaleźć zbiór wartości (r, f w przestrzeni parametrów tej prostej. (x,y) - stałe, (r, f - zmienne równanie normalne prostej przedstawia relację pomiędzy krzywą w przestrzeni parametrów a punktem w obrazie. Punkt (x,y) leży na prostej krzywa w przestrzeni parametrów - sinusoida Przestrzeń parametrów: Równanie sinusoidy x cosj + y sinj =r TH - transformacja pomiędzy punktami obrazu a przestrzenią parametrów poszukiwanej krzywej.

Przetwarzanie obrazów Wykład 4 34 Transformata Fouriera Interpretacja częstotliwościowa filtracji obrazu F.G. - filtracja górnoprzepustowa F.D. - filtracja dolnoprzepustowa

Przetwarzanie obrazów Wykład 4 35 Transformata Fouriera gdzie: u = 0, 1,, N-1, j = 1 u - argument widma Złożoność obliczeniowa: 0(N 2 ) - tzn. N 2 dodawań i mnożeń 0(N *log 2 N) - szybka transformata Fouriera (Fast Fourier Transform (FFT)) Funkcje bazowe - składniki sumy w wyrażeniu opisującym transformatę

Przetwarzanie obrazów Wykład 4 36 Transformata odwrotna: gdzie: x = 0, 1,, N-1; x - argument funkcji Dla obszaru N x N : Dwuwymiarowa transformata Fouriera (TF): gdzie: u,v = 0, 1,, N-1; u,v - argumenty widma F

Przetwarzanie obrazów Wykład 4 37 Dwuwymiarowa odwrotna transformata Fouriera (OTF): gdzie: x,y = 0, 1,, N-1 x,y - argumenty funkcji f Duża złożoność obliczeniowa.

Przetwarzanie obrazów Wykład 4 38 Interpretacja w odniesieniu do operacji na obrazach u, v - interpretuje się jako częstotliwości przestrzenne obrazu f(x,y) odpowiednio wzdłuż osi x, y. Oznacza to, że drobne przedmioty i gwałtowne przejścia od czerni do bieli widoczne na obrazie są odpowiedzialne głównie za fragmenty funkcji F(u,v) występujące dla dużych wartości jej argumentów. Przeciwnie, składowe F(u,v) odpowiadające małym wartościom u,v kodują duże obiekty lub obszary tła obrazu.

Przetwarzanie obrazów Wykład 4 39 Schemat filtracji: TF f x y F u v F u,v F u,v H u,v OTF F u,v f x, y funkcja filtru (usuwanie zakłóceń; na ogół poj. białe piksele na czarnym tle lub czarne na białym odpowiadające dużym częstotliwościom przestrzennym). zmodyfikowana funkcja widma Stąd: H(u,v) realizuje filtrację dolnoprzepustową (FD). Procesory cyfrowe - FD powolna. Procesory sygnałowe - szybka. Sprawdzona przydatność FD: eliminacja zakłóceń w sygnałach jednowymiarowych typu f(t).

Przetwarzanie obrazów Wykład 4 40 Jednowymiarowa transformata Fouriera Przedstawienie graficzne funkcji bazowych Transformata Fouriera w odniesieniu do obrazu jest operacją globalną, to znaczy operacją sąsiedztwa przeprowadzaną na otoczeniu obejmującym wszystkie piksele obrazu. Np. dla obrazu o wymiarach NxN: [q(i,j)] = P(p(1,1), p(1,2),,p(i,j),,p(n,n))

Przetwarzanie obrazów Wykład 4 41 Transformacja Fouriera przenosi obraz (dyskretny sygnał dwuwymiarowy) z dziedziny przestrzennej do dziedziny częstotliwości przestrzennych.

Przetwarzanie obrazów Wykład 4 42 Dziedzina przestrzenna jest taką dziedziną obrazu, w której odległości między obiektami na obrazie odpowiadają odległościom między odpowiadającymi im obiektami w przestrzeni, którą przedstawia obraz.

Przetwarzanie obrazów Wykład 4 43 W dziedzinie częstotliwości przestrzennych wartość w określonej pozycji przedstawia, jaki jest udział częstotliwości zmian poziomów szarości, odpowiadającej pozycji tego punktu w odpowiednim układzie współrzędnych. Zastosowania transformaty Fouriera w przetwarzaniu obrazów Obserwacja periodyczności w obrazie Wyznaczanie kierunku struktur w obrazie Wytłumianie lub wzmacnianie pewnych kategorii informacji Wygładzanie i wyostrzanie obrazu

Przetwarzanie obrazów Wykład 4 44 Przykład 1 Dwa zestawy periodycznie ułożonych trójkątów oraz ich widma amplitudowe Przykład 2 Dwa zestawy linii o grubości 2 piksele i długości 150 pikseli każda oraz ich widma amplitudowe. Obraz z liniami równoległymi ma widmo z jednym dominującym kierunkiem, prostopadłym do kierunku linii na obrazie pierwotnym.

Przetwarzanie obrazów Wykład 4 45 Przykład 3 Usunięcie składowych wysokoczęstotliwościowych (krawędzi) linii poziomych i pionowych poprzez wytłumienie odpowiednich obszarów widma. Składniki wysokoczęstotliwościowe w innych kierunkach pozostają bez zmian.

Przetwarzanie obrazów Wykład 4 46 Obraz i jego widmo amplitudowe po usunięciu w/w składowych

Przetwarzanie obrazów Wykład 4 47 Przykład 4 Usunięcie zakłóceń w postaci regularnie powtarzających się skośnych prążków poprzez wytłumienie odpowiednich obszarów widma Obraz i jego widmo amplitudowe po usunięciu zakłóceń

Przetwarzanie obrazów Wykład 3 48 MATERIAŁ DO WYKŁADU I ĆWICZEŃ LABORATORYJNYCH: Wykład Materiał podstawowy: M. Doros, Przetwarzanie obrazów, Skrypt WSISiZ, (Rozdz.4.1, 4.2, 4.3) Materiał uzupełniający: R.Tadeusiewicz, P.Korohoda: Komputerowa analiza i przetwarzanie obrazów, Kraków 1997 (Rozdz. 4) http://winntbg.bg.agh.edu.pl/skrypty2/0098/ (17.04.2017) (lub plik..\pobz\materialy\tadeusiewiczkorohoda.pdf na UBIKu) Ćwiczenia Laboratoryjne Materiał podstawowy: M.Doros, A. Korzyńska, M.Przytulska, H.Goszczyńska: Przetwarzanie Obrazów, ćwiczenia laboratoryjne, Skrypt WSISiZ, (Rozdz.7, 8, 15)

REPREZENTACJA OBRAZU KODOWANIE OBRAZU METRYKA SPOSOBY PRZEGLĄDU OBRAZU KOMPRESJA OBRAZU MODELOWANIE KOLORU WYKŁAD 05 Marek Doros

Przetwarzanie obrazów Wykład 05 2 Postacie obrazów na różnych etapach procesu przetwarzania

Przetwarzanie obrazów Wykład 05 3 Klasy obrazów Klasa 1 Obrazy o pełnej skali stopni jasności, typowe parametry: N=512, M=256 Reprezentacja rastrowa: np. tablica 512x512 jednobajtowych elementów (true color - 3 bajty NxN) Klasa 2 Obrazy binarne: tablica NxN np. 512x512 elementów jednobitowych (również reprezentacja rastrowa). Klasa 3 Krzywe dyskretne - zbiór punktów (pikseli) rastru prostokątnego z których każdy (oprócz punktów końcowych) posiada nie mniej niż 2 i nie więcej niż 3 sąsiadów odpowiednio skonfigurowanych. Punkty końcowe: 1-2 sąsiadów. Krzywe otwarte, krzywe zamknięte. Klasa 4 Punkty lub wieloboki. Punkty tak od siebie oddalone, że nie mogą być reprezentowane przez kod łańcuchowy. Reprezentacja: tablica współrzędnych punktów. Łączenie prostymi lub krzywymi o zadanych parametrach.

Przetwarzanie obrazów Wykład 05 4 Krzywa dyskretna Zbiór pikseli siatki prostokątnej (rastru prostokątnego) z których każdy (oprócz pikseli końcowych) posiada nie mniej niż 2 i nie więcej niż 3 sąsiadów odpowiednio skonfigurowanych (w sensie sąsiedztwa 8-mio lub 4-spójnego). Piksele końcowe: 1-2 sąsiadów.)

Przetwarzanie obrazów Wykład 05 5 Krzywe dzielimy na: otwarte, zamknięte. Kierunki Reprezentacja krzywych Ciąg par współrzędnych x, y kolejnych punktów krzywej: (x 1, y 1 ), (x 2, y 2 ),..., (x n, y n ), (0,5), (1,4),...,(7,0) (krzywa z przykładu) Kod łańcuchowy (chain code) o stałej długości (3 bity/punkt): (0,5) 001001000010001000...000 (0,5) - współrzędne punktu początkowego krzywej z przykładu 001 - kod kierunku 1 Długość kodu łańcuchowego o stałej długości nie zależy do kształtu krzywej (określonego zmianami kierunków pomiędzy kolejnymi pikselami krzywej).

Przetwarzanie obrazów Wykład 05 6 Różnicowy kod łańcuchowy (o zmiennej długości, średnio 2 bity / piksel, długość kodu zależy od kształtu krzywej). Przypisania: zmienna nachylenia 0 +1-1 +2-2 +3-3 +4 kod 0 01 011 0111 01111 011111 0111111 01111111 +1, +2, +3, 4 - zmiana nachylenia o 1,2,3,4 w kierunku dodatnim - 1, -2, -3, 4 - zmiana nachylenia o 1,2,3,4 w kierunku ujemnym Krzywa z przykładu (0,5) 001001101110110110011101111 Dla jednoznacznego opisu krzywej powyższy kod musi zawierać: (0,5) - współrzędne punktu początkowego krzywej z przykładu 001 - kod łańcuchowy 0 - różnicowy kod łańcuchowy

Przetwarzanie obrazów Wykład 05 7 Technika dyskretyzacji krzywych Schemat dyskretyzacji Freemana (w procesie akwizycji obrazu) Zasada: badanie każdego punktu przecięcia się krzywej z linią łączącą dwa kolejne węzły siatki (rastru). Wybór węzła rastru leżącego bliżej punktu przecięcia. Wybrany węzeł należy do pikseli tworzących krzywą dyskretną. Punkt niejednoznaczności (ambiguity point) - punkt przecięcia jednakowo odległy od obu rozważanych węzłów siatki (rastru). W tym przypadku wybór węzła do utworzenia krzywej dyskretnej następuje według dodatkowej reguły (np. prawy z dwóch węzłów tworzących odcinek poziomy lub górny z dwóch węzłów tworzących odcinek pionowy.

Przetwarzanie obrazów Wykład 05 8

Przetwarzanie obrazów Wykład 05 9 Tworzenie obrazów na podstawie ich reprezentacji Grafika wektorowa (tworzenie obrazów klas 3 i 4) Modyfikacja kształtu i - tego obiektu bez ingerencji w pozostałe sekwencje. Częstotliwość odtwarzania jest odwrotnie proporcjonalna do długości pętli. Zajętość pamięci zależy od rodzaju obiektów na obrazie. Grafika rastrowa - tworzenie obrazów wielo- lub dwupoziomowych (binarnych), czyli klasy 1 i 2. Modyfikacja kształtu obiektu ingeruje w postać innych obiektów.

Przetwarzanie obrazów Wykład 05 10 Rozwiązanie problemu Podział pamięci na strefy i tworzenie obrazu każdego obiektu w oddzielnej strefie. P 1, P 2, P 3, P 4 - dotyczą tych samych współrzędnych ekranu

Przetwarzanie obrazów Wykład 05 11 Przykład Obraz 16x16 pikseli, 256 poziomów jasności.

Przetwarzanie obrazów Wykład 05 12 Reprezentacja rastrowa Jeden piksel obrazu zajmuje jedną komórkę (jednobajtową) pamięci. Zawartość pamięci 16x16x1 bajt=256 bajtów. Na oddzielne przechowywanie zarówno obiektu A jak i obiektu B potrzeba 256 bajtów. Tablica jednowymiarowa: Obiekt A nr elementu: 1 2... 16 17 18 19 20 21 22 23... 256 wartość elementu: 0 0... 0 0 0 0 5 3 10 0... 0

Przetwarzanie obrazów Wykład 05 13 Reprezentacja wektorowa Jeden piksel obiektu - współrzędne x, y oraz poziom jasności z. Obraz - tablica elementów trójskładnikowych: Obiekt A (4,2,5), (5,2,3),..., (6,5,2) Zadanie Obliczyć zajętość pamięci (w bajtach) przez obiekty A i B w obrazie 256x256 przy dwóch rodzajach reprezentacji.

Przetwarzanie obrazów Wykład 05 14 Edytor obrazowy Program do wprowadzania i modyfikacji danych obrazowych (dla porównania: edytor tekstowy służy do wprowadzania i modyfikacji tekstu) Edytor punktowy Program do wprowadzania, modyfikacji i adresowania (wskazywania) punktów. Struktura danych dla edytora punktowego: Tablica dwuwymiarowa współrzędnych (x,y) punktów Połączona lista (łatwiejsza dla użytkownika) Elementy listy są czteroskładnikowe: x - współrzędna x, y - współrzędna y, p - adres poprzedniego elementu na liście n - adres następnego elementu na liście. Realizacja struktury - cztery tablice jednowymiarowe z indeksem tablicy służącym jako adres.

Przetwarzanie obrazów Wykład 05 15 Przykład (5,8,0,2) - element poprzedni nie istnieje (11,22,1,3) (14,18,2,0) - element następny nie istnieje. Wprowadzenie punktu (9,10) między pierwszym a drugim punktem daje następującą listę: (5,8,0,4); (11,22,4,3); (14,18,2,0); (9,10,1,2)

Przetwarzanie obrazów Wykład 05 16 Metryka Liczenie różnic pomiędzy obrazami 2 sposoby 1. Różnica pomiędzy dwoma wektorami reprezentującymi porównywane obrazy (metryka) 2. Różnica pomiędzy dwiema tablicami reprezentującymi porównywane obrazy (operacja jednopunktowa dwuargumentowa)

Przetwarzanie obrazów Wykład 05 17 Obraz jako wektor (punkt w przestrzeni n-wymiarowej): d [ d,..., d ] d D 1 n T n liczba pikseli obrazu, np. N 2 D przestrzeń obrazów Wartości odpowiednich składowych wektora zależą od sposobu przeglądu obrazu (np. 1,2) dwa sposoby przeglądu linia po linii, 3) krzywa Hilberta.

Przetwarzanie obrazów Wykład 05 18 Metryka odwzorowanie wszystkich wektorów : X X R spełniające dla 1, 2,... założenia (warunki): x X x, x 0 x x x, x x, x - tożsamość - symetria, x, x x, x x, x - warunek trójkąta. Gdzie: X - przestrzeń wektorów R * - zbiór liczb nieujemnych Zastosowanie praktyczne obliczanie różnic pomiędzy poszczególnymi obrazami

Przetwarzanie obrazów Wykład 05 19 Sposoby przeglądu obrazu 1. Linia po linii (wiersz po wierszu) 1-szy sposób Przykład N=4 2. Linia po linii (wiersz po wierszu) 2-gi sposób Przykład N=4

Przetwarzanie obrazów Wykład 05 20 1. Według krzywej Hilberta rzędu k Rekurencyjny algorytm generowania krzywych Hilberta. Z czterech krzywych rzędu k-1 budowana jest krzywa rzędu k. Przykład k=3 Krzywa Hilberta rzędu 3. Obraz o rozmiarach 8x8 (N=8) Uwaga Obraz o rozmiarach 4x8 (tzn. N1=4, N2=8) również można pokryć krzywą Hilberta (p. lewa lub prawa połowa powyższego obrazu)

Przetwarzanie obrazów Wykład 05 21 Metryka Euklidesowa ( x, x ) ( x x ) 1 n 1 2 Wady i zalety metryki Euklidesowej - odpowiada obiegowej definicji odległości - ignorowanie składowych o b. małych wymiarach, długie czasy obliczeń (pierwiastkowanie, podnoszenie do kwadratu) Uogólniona metryka Euklidesowa ( x, x ) x x 2 n 1 2 - mnożniki normalizujące

Przetwarzanie obrazów Wykład 05 22 Metryka uliczna (Manhattan, city block distance): 3 x, x x x n 1 Uogólniona metryka uliczna 4 n x, x x x 1 Metryka Czebyszewa (maksymalna) 5 x x x x, max 1 n Oznaczenia T x x x x T [ 1,...,... n ] x [ x,... x,... x n ] 1

Przetwarzanie obrazów Wykład 05 23 Przykład Obliczyć różnicę (stosując metrykę euklidesową) pomiędzy dwoma obrazami trzypikslowymi 1 T 1 1 2 1 3 1 2 1 2 2 2 3 3 d [ d, d, d ] [ 2, 3, 5], d [ d, d, d ] [ 1, 4, 5] T 3 1 2 1 2 2 i i i 1 2 2 2 ( d, d ) ( d d ) ( 2 1) ( 3 4) ( 5 5) 2

Przetwarzanie obrazów Wykład 05 24 Obraz jako tablica Obliczanie wartości bezwzględnych różnic pomiędzy odpowiednimi pikselami dwóch obrazów [ c ij ]=[a ij -b ij ] [a ij ] [ b ij ] 0 12 142 255 14 11 9 253 1 6 40 254 3 5 39 254 24 0 20 255 11 1 19 255 30 2 10 240 18 2 11 256 a ij -b ij c ij = a ij -b ij 14 1 133 2 2 1 1 0 13 1 1 0 12 0 1 16 14 1 133 2 2 1 1 0 13 1 1 0 12 0 1 16

Przetwarzanie obrazów Wykład 05 25 KOMPRESJA OBRAZÓW Cele kompresji archiwizacja, przesyłanie. Stopień kompresji obrazu SK = KP KW SK - stopień kompresji obrazu. KP [bajt] - obszar pamięci zajmowany przez kod pierwotny obrazu. Kod pierwotny - reprezentacja rastrowa lub wektorowa. KW [bajt] - obszar pamięci zajmowany przez kod wynikowy obrazu. Rodzaje kompresji: - kompresja bezstratna (lossless compression) - kompresja stratna (lossy compression)

Przetwarzanie obrazów Wykład 05 26 Kompresja bezstratna (lossless compression) Własność x, x 0 x x ρ - wektor reprezentujący obraz pierwotny - wektor reprezentujący obraz odtworzony (zrekonstruowany) - wartość metryki Wybrane metody kompresji bezstratnej obrazów rastrowych: Kompresja obrazów z obszarami o jednolitej jasności Kompresja obrazów z obszarami o niejednolitej jasności

Przetwarzanie obrazów Wykład 5 27 Kompresja obrazów z obszarami o jednolitej jasności Kodowanie ciągów identycznych symboli ciąg identycznych symboli - para zawiera 1 symbol i liczbę jego powtórzeń Przykład: 7,7,8,9,10,10,10,10,9,9,9,8,7,7,7 7(2), 8(1), 9(1), 10(4), 9(3), 8(1), 7(3). Uwaga: dla obrazów o dużych obszarach o jednolitej jasności przegląd według krzywej Hilberta daje z reguły dłuższe ciągi identycznych symboli niż w przypadku przeglądu linia po linii Praktyczna realizacja metody kodowania ciągów identycznych symboli: formaty obrazowe: *.PCX, *.PIC

Przetwarzanie obrazów Wykład 05 28 Kodowanie drzewiaste odwzorowanie obrazu w drzewo (szczególny przypadek grafu), czyli odwzorowanie piksli lub podzbiorów piksli w węzły (wierzchołki) drzewa. Przegląd siatki dyskretnej obrazu realizowany poprzez przegląd drzewa będącego odwzorowaniem tego obrazu. Powszechnie stosowane są drzewa czwórkowe i drzewa binarne Terminologia z zakresu teorii grafów Graf - zbiór punktów lub wierzchołków (węzłów) połączonych liniami lub gałęziami Droga cykliczna - droga, której początek i koniec pokrywają się. Graf jest spójny istnieje droga między dowolną parą wierzchołków. Stopień wierzchołka - liczba gałęzi spotykających się w nim. Graf zorientowany - część lub wszystkie gałęzie są ukierunkowane. Stopień zewnętrzny lub wewnętrzny wierzchołka - liczba gałęzi skierowanych od i do wierzchołka

Przetwarzanie obrazów Wykład 05 29 Drzewo graf spójny bez dróg cyklicznych; poziomy: górne, dolne; stopień wierzchołka: górny i dolny Podgraf grafu G - graf zawierający część lub wszystkie wierzchołki G oraz część lub wszystkie jego gałęzie i nie ma innych wierzchołków lub gałęzi. Drzewo rozpinające grafu spójnego G - podgraf G zawierający wszystkie wierzchołki G oraz liczbę gałęzi wystarczającą aby był spójny bez dróg cyklicznych.

Przetwarzanie obrazów Wykład 05 30 Odpowiedniki w odwzorowaniu obraz - graf Siatka dyskretna - graf Wierzchołki grafu - elementy obrazu. Struktura do przechowywania wierzchołków - stos. Gałęzie - łączą wierzchołki odpowiadające sąsiednim elementom. Dane: współrzędne x, y oraz ich jasność. Problem: znalezienie wierzchołków przyległych do danego wierzchołka. Typowy algorytm przeglądania grafu odpowiada algorytmowi przeglądania obrazu Manipulacja stosem. Usuwanie węzłów (manipulowanie kolejką).

Przetwarzanie obrazów Wykład 05 31 Piramidy albo drzewa czwórkowe (odwzorowanie obrazu w drzewo czwórkowe) Obraz - postać macierzy kwadratowej A o wymiarach 2 n x 2 n. Powtarzany rekursywnie n razy proces podziału A na 4 macierze kwadratowe aż do osiągnięcia poziomu pojedynczego elementu obrazu. Przedstawienie podziału w postaci drzewa, którego wierzchołki (węzły) odpowiadają kwadratom. Wszystkie wierzchołki oprócz liści (wierzchołków stopnia 1) są stopnia dolnego 4, stąd: drzewo czwórkowe.

Przetwarzanie obrazów Wykład 05 32 Długość etykiety pojedynczego elementu wynosi n (np. dla n=3 obraz 8x8) Poziom k zawiera 4 k kwadratów. Stąd liczba wierzchołków drzewa: n N= 4k k= 0 n 1 4 1 4 3 3 4 n tzn. ok. 1/3 więcej wierzchołków niż elementów. Tak więc w przypadku, gdy w odwzorowaniu obrazu w drzewo jeden wierzchołek drzewa odpowiada jednemu pikslowi, tzn. gdy nie ma obszarów (złożonych z więcej niż jednego piksla) o takiej samej jasności, występuje ekspansja obrazu przeciwieństwo kompresji.

Przetwarzanie obrazów Wykład 05 33 System adresowania kwadratów Typowe algorytmy Algorytm tworzenia drzewa czwórkowego z obrazu przeglądanego wiersz po wierszu Rekonstrukcja obrazu na podstawie drzewa czwórkowego. Wyświetlanie zgrubne np. w czasie T c /2, gdzie T c - całkowity czas odtworzenia obrazu. W reprezentacji macierzowej w czasie T c /2 wyświetli się połowa obrazu. Kompresja obrazu za pomocą drzewa czwórkowego (przy dostatecznie dużych obszarach o jednolitej jasności).

Przetwarzanie obrazów Wykład 05 34 Drzewa binarne Zaleta mniejsza zmiana rozdzielczości przy zmianie poziomu (dwukrotna) niż w przypadku drzewa czwórkowego (czterokrotna). Jeżeli przy drzewach czwórkowych każda transmisja czterokrotnie zwiększa rozdzielczość, to dla drzew binarnych jedynie ją podwaja. Stąd, przy tej samej całkowitej ilości danych w obydwu metodach, dla drzew binarnych powstaje wcześniej obraz bardziej odpowiadający oryginałowi.

Przetwarzanie obrazów Wykład 05 35 Kompresja obrazów z obszarami o niejednolitej jasności Kod Huffmana - kod o zmiennej długości słowa. Sposób postępowania: Przypisanie każdemu poziomowi jasności częstości występowania pikseli o tym poziomie jasności (utworzenie histogramu). Wyszukanie 2 poziomów o najmniejszej częstości występowania i połączenie w jeden o częstości występowania równej sumie tych poziomów. Schemat łączenia - drzewo Huffmana.

Przetwarzanie obrazów Wykład 05 36 Histogram n j - liczba piksli o jasności (poziomie jasności, wartości) p j, N 2 - liczba piksli obrazu p - poziom jasności Praktyczna realizacja kodu Huffmana - format obrazowy *.TGA

Przetwarzanie obrazów Wykład 05 37 Wada kodu Huffmana konieczność przyłączania do zakodowanego obrazu biblioteki użytych kodów (odpowiadających zadanym poziomom jasności). Rozmiar biblioteki może przewyższyć redukcję rozmiaru obrazu. Ominięcie problemu: Sposób 1 Metoda adaptacyjna - wykorzystanie do kodowania każdego piksla biblioteki zbudowanej na podstawie częstości wystąpień wszystkich już zakodowanych pikseli; program dekodujący zna te piksle, stąd nie ma potrzeby przyłączania tablicy przekodowań. Wada - duży koszt obliczeń - wyznaczanie kodów Huffmana NxN razy, tzn. złożoność obliczeniowa wynosi O(N 2 ). Sposób 2 Metoda wykorzystania standardowej tablicy przekodowań (tylko w przypadkach, gdy charakter kodowanych danych można dobrze przewidzieć). Krótszy proces kodowania (jednokrotny przegląd obrazu - tylko w trakcie rzeczywistego kodowania). Pierwszy krok - polegający na przeglądzie obrazu dla znalezienia częstości występowania poszczególnych poziomów jasności (histogram) zostaje pominięty.

Przetwarzanie obrazów Wykład 05 38 Uwaga: Stopień kompresji wzrasta, gdy nierównomierność częstości n j wystąpień poszczególnych poziomów jasności p j wzrasta. Zwiększenie nierównomierności częstości wystąpień: zastąpienie poziomów jasności piksli f m,n odpowiednimi wyrażeniami różnicowymi (1) m,n f m,n f m,n 1 (2) m,n f m,n f ( f f ) 1 m-1,n m,n 1 m-1,n- W przypadku (2) nastąpiło zwiększenie nierównomierności częstości wystąpień w porównaniu z przypadkiem (1) m n f f m-1,n-1 m,n- 1 fm- 1,n fm,n Położenie pikseli

Przetwarzanie obrazów Wykład 05 39 Metody słownikowe Kodowanie ciągów symboli (pikseli) za pomocą odwołań do słownika zawierającego takie ciągi. Stopień kompresji (SK) rośnie, gdy długość ciągu pikseli możliwych do zastąpienia indeksem do słownika rośnie. Podział metod słownikowych: statyczne (słownik nie zmienia się w trakcie kodowania), adaptacyjne (słownik zmienia się w trakcie kodowania)

Przetwarzanie obrazów Wykład 05 40 Przykład metody statycznej słownik zawiera wszystkie możliwe ciągi o długościach równych liczbie pikseli w całym obrazie wtedy: L=2 B(NxN) gdzie: L - liczba możliwych ciągów (tzn. liczba indeksów słownika), B - liczba bitów określających wartość piksela NxN - liczba pikseli w całym obrazie Wtedy: KP = B(NxN), KW = L, stąd SK < 1, (ekspansja) (np. dla B=8, N=512: L = 2 8(512x512) tzn. ok. 10 600000 >> 8 (512x512), tzn. SK<<1) Wniosek: należy stosować ciągi o mniejszej liczbie wyrazów. Problem: Dla obrazu o parametrach : B=8, N=512 znaleźć taką wartość n<nxn, dla której SK=1

Przetwarzanie obrazów Wykład 05 41 Kompresja stratna (lossy compression) Własność: x, x 0 x x - wektor reprezentujący obraz pierwotny - wektor reprezentujący obraz odtworzony (zrekonstruowany) Kompresja stratna - uzyskiwany jest większy stopień kompresji (SK) niż przy stosowaniu kompresji bezstratnej (lossless compression). Wybrane metody kompresji stratnej obrazów rastrowych kodowanie różnic, kodowanie blokowe

Przetwarzanie obrazów Wykład 05 42 Kodowanie różnic f f 1 m,n m,n m,n gdzie: f m,n - poziom jasności piksela o współrzędnych m,n, f m,n-1 - poziom jasności piksela (kolejnego) o współrzędnych m,n-1. Położenie pikseli f m-1,n-1 fm- 1,n f m,n-1 fm,n Przykład: Obraz pierwotny : L = 255 (M = 256) kodowanie wartości pikseli: l = 0,1,2,3,...,255; zajętość pamięci: 8 bitów/piksel, kodowanie różnic pomiędzy wartościami kolejnych pikseli: m,n 255, 254,..., 0,..., 254, 255 zajętość pamięci: 9 bitów /piksel.

Przetwarzanie obrazów Wykład 05 43 Histogram różnic ε m,n pomiędzy wartościami (poziomami jasności) kolejnych pikseli Histogram różnic ma charakter krzywej Gaussa z maksimum w okolicy zera.

Przetwarzanie obrazów Wykład 05 44 Realizacja kompresji: zakodowanie najczęściej występujących różnic. Histogram różnic z zaznaczonym obszarem najczęściej występujących różnic Kryteria wyboru obszaru: wymagania na wielkość stopnia kompresji (SK), wymagania na dokładność rekonstrukcji (określoną wielkością ρ ) KP = 9, KW = 4 SK = KP/KW = 9/4 = 2,25 m,n 7, 6,..., 7, 8 Obraz zakodowany - 16 symboli zamiast 512 Niepożądany efekt: zależnie od rodzaju obrazu - większe lub mniejsze rozmywanie (blurring) ostrych krawędzi.

Przetwarzanie obrazów Wykład 05 45 Kodowanie blokowe Podział obrazu na jednakowe bloki, najczęściej 4x4 piksele. Obliczenie dla każdego bloku średniej arytmetycznej jasności. Podział pikseli na dwie grupy: a) o jasności większej lub równej jasności średniej, b) mniejszej niż jasność średnia. Obliczenie nowej jasności średniej dla każdej z grup (wartość górna dla (a) i wartość dolna dla (b)). Przypisanie wszystkim pikselom danej grupy obliczonej jasności średniej (górnej lub dolnej), stąd blok zostaje zakodowany jako mapa bitowa określająca podział na grupy, plus dwie wartości jasności. 0 10,125 13 Wartość górna= 12,625 13 Wartość dolna = 7,625 8

Przetwarzanie obrazów Wykład 05 46 Przykład Obraz o 256 poziomach jasności, bloki o wymiarach 4x4 piksele. Obszar pamięci zajmowany przez blok przed kompresją: KP = 4x4x8 = 128 bitów Obszar pamięci zajmowany przez blok po kompresji: KW = 4x4x1 + 2x8=32 bity, gdzie: 4x4x1 - obszar pamięci zajmowany przez mapę bitową, 2x8 - obszar pamięci zajmowany przez dwie wartości jasności stąd: SK = KP/KW = 4 Niepożądany efekt: zwiększenie rozmiaru bloku powoduje coraz wyraźniejsze ukazywanie się siatki podziału na bloki.

Przetwarzanie obrazów Wykład 05 47 Format JPEG - Odpowiada kompresji stratnej - Oparty na dyskretnej transformacie kosinusowej (DCT) - Wraz ze wzrostem stopnia kompresji (SK) coraz bardziej widoczny jest podział na bloki w obrazie zrekonstruowanym

Przetwarzanie obrazów Wykład 05 48 Kolejność działań: Konwersja obrazu kanałów (RGB) na jasność (luminancję) i 2 kanały barwy (chrominancje). Odrzucenie części pikseli kanałów barwy, podział kanałów na bloki 8 8 pikseli. Na blokach wykonywana jest dyskretna transformata kosinusowa (DCT). Zastąpienie średnich wartości bloków przez różnice wobec wartości poprzedniej (DPCM). Poprawia to w pewnym stopniu współczynnik kompresji. Kwantyzacja, czyli zastąpienie danych zmiennoprzecinkowych przez liczby całkowite. Użyta transformata powoduje efekty blokowe w przypadku mocno skompresowanych obrazów. Innowacyjność algorytmu JPEG : możliwość kontroli stopnia kompresji w jej trakcie (p. program Corel Photo Paint X4)

Przetwarzanie obrazów Wykład 05 49 Przykład Obraz Jakość Rozmiar (bajty) Współcz ynnik kompresj i Komenta rz Pełna Niezauwa jakość (Q = 100) 83,261 2,6:1 żalnie małe artefakty Niska jakość (Q = 10) 4,787 46:1 Duże straty rozciągło ści tonalnej; artefakty na krawędzi ach obiektów

Przetwarzanie obrazów Wykład 05 50 Kompresja krzywych dyskretnych SK = KP KW SK - stopień kompresji krzywej. KP [bajt] - obszar pamięci zajmowany przez kod pierwotny krzywej. KW [bajt] - obszar pamięci zajmowany przez kod wynikowy krzywej Rodzaje kompresji krzywych dyskretnych: - kompresja bezstratna (lossless compression) - kompresja stratna (lossy compression)

Przetwarzanie obrazów Wykład 05 51 Kompresja bezstratna krzywych dyskretnych (lossless compression) Kod pierwotny KP: ciąg par współrzędnych x, y kolejnych punktów krzywej: (x 1, y 1 ), (x 2, y 2 ),..., (x n, y n ) Kod wynikowy KW: -kod łańcuchowy o stałej długości (chain code), lub - różnicowy kod łańcuchowy o zmiennej długości (differential chain code).

Przetwarzanie obrazów Wykład 05 52 Kompresja stratna (lossy) krzywych dyskretnych Metoda: Interpolacja krzywych dyskretnych odcinkami linii prostych dyskretnych Krzywe dyskretne: - krzywa pierwotna (interpolowana), - krzywa odtworzona (zdekompresowana, interpolująca) --------- - jest to zbiór kolejnych odcinków linii prostej dyskretnej S 1 -S 2, S 2 -S 3,...,S 9 -S 10. S 1,..., S 10 - węzły interpolacji KP - obszar pamięci zajmowany przez ciąg par współrzędnych x, y kolejnych punktów krzywej pierwotnej: (x 1, y 1 ), (x 2, y 2 ),..., (x N, y N ), KW - obszar pamięci zajmowany przez ciąg par współrzędnych x, y kolejnych węzłów interpolacji: (x S1,y S1 ), (x S2, y S2 ),...,(x Sn,y Sn ).

Przetwarzanie obrazów Wykład 05 53 Modelowanie koloru Kolor Światło widzialne fiolet, indygo, niebieski, zielony, żółty, pomarańczowy, czerwony ~400nm ~700nm Rozróżnialność barw (przeciętna): 150 czystych barw Wrażenie koloru-trzy czynniki: barwa, jasność, nasycenie

Przetwarzanie obrazów Wykład 05 54 Barwa Fizycznie: długość fali Subiektywnie: to co odróżnia zieleń od błękitu a jest wspólne dla różnych odcieni czerwonego. Jasność stopień podobieństwa do barwy białej (dla odcieni jasnych) lub czarnej (dla odcieni ciemnych). Nasycenie czystość barwy np. stopień zbliżenia do barw zasadniczych występujących w widmie słonecznym: czerwona, zielona, niebieska, żółta (RGBY). Rozróżnialność barw (uwzględniając jasności) ok. 400000 kolorów (przy porównywaniu). Z pamięci: kilkadziesiąt barw. Subiektywna ocena barw obrazu na monitorze przy różnym oświetleniu pomieszczenia.

Przetwarzanie obrazów Wykład 05 55 Komputerowe modelowanie koloru Cel otrzymanie obiektywnych, jednoznacznych charakterystyk barw. Rozkład energii światła z dominującą długością fali: e d - poziom składowej dominującej e b - wypadkowy poziom wszystkich pozostałych składowych dających światło białe

Przetwarzanie obrazów Wykład 05 56 Nasycenie rośnie gdy e d /e b rośnie e d = e b - nasycenie zerowe e b = 0 - nasycenie 100% Światło białe: np.: R:G:B = 26:66:8 Barwy dopełniające: trójki lub pary barw dających światło białe np.: czerwono zielono niebieska RGB addytywne żółto niebieska CMY subtraktywne Barwy podstawowe - Barwy, którymi opisywane są inne Dowolna, skończona liczba barw podstawowych nie wystarcza do otrzymania wszystkich barw z widmowego spektrum (porównaj diagram CIE).

Przetwarzanie obrazów Wykład 05 57 Standard barw podstawowych Standard CIE 1931r. (Międzynarodowa Komisja Oświetleniowa). Standardowe barwy podstawowe nie odpowiadają żadnej rzeczywistej barwie, za to dowolną widzialną barwę daje się wyrazić jako ich średnią ważoną. A,B,C - ilości poszczególnych barw podstawowych CIE dających w sumie pewną barwę. Wielkości a A A B C ; b A B B C ; c C A B C są to współrzędne trójchromatyczne tej barwy. Widać, że zawsze: a + b + c = 1 tzn. dowolne dwie współrzędne wystarczą do określenia barwy.

Przetwarzanie obrazów Wykład 05 58 Diagram chromatyczności CIE wykres współrzędnych a i b wszystkich barw widzialnych; obszar D - barwa biała

Przetwarzanie obrazów Wykład 05 59 Standard CIE - operacja na barwach Mieszanie (dodawanie) dwóch barw K 1 i K 2 Dominująca długośći fali i nasycenie koloru. S - domin. dług. fali barwy K Nasycenie określone ilorazem: KD DS

Przetwarzanie obrazów Wykład 05 60 Model RGB Opis piksela: 3 bajty 16777216 barw 3 bity 2 3 = 8 barw 1 piksel na ekranie monitora składa się fizycznie z 3 elementów (RGB)

Przetwarzanie obrazów Wykład 05 61 Barwy podstawowe R, G, B (red green blue) - odpowiadają sprzętowym (w postaci 3 - elementowej) sposobom generowania kolorowych obrazów na monitorze rastrowym. Wszystkim możliwym do uzyskania barwom w modelu RGB odpowiadają punkty sześcianu jednostkowego rozpiętego na osiach barw podstawowych Wierzchołki przeciwległe odpowiednio do R, G, B - barwy dopełniające Przekątna (0, 0, 0) (1, 1, 1) odpowiada różnym poziomom szarości (światło białe). Sześcian RGB

Przetwarzanie obrazów Wykład 05 62 Barwy addytywne Model RGB - opis addytywnego procesu otrzymywania barw w wyniku dodawania (mieszania) w różnych proporcjach trzech barw podstawowych.

Przetwarzanie obrazów Wykład 05 63 Model CMY C - cyan (zielono-niebieski), M - magenta (karmazynowy), Y - yellow (żółty) (są to dopełnienia R, G, B). CMY są podstawowymi barwami subtraktywnymi, ponieważ usuwają poprzednie podstawowe barwy ze źródła białego. Np. przedmiot pokryty żółtą farbą pochłania składowe światła słonecznego o długościach dopowiadających barwie niebieskiej. Model CMY jest subtraktywny i służy do określenia kolorów rysunków na drukarkach i ploterach. W praktyce: Maksymalne (równe 1) składowe barw podstawowych nie absorbują wszystkich długości widzialnych fal. Dlatego, używana jest dodatkowo czarna farba (dodatkowy pojemnik w drukarce atramentowej)

Przetwarzanie obrazów Wykład 05 64 Barwy subtraktywne

Przetwarzanie obrazów Wykład 05 65 Model HSV H - hue (barwa), S - saturation (nasycenie), V - value (wartość) kąt obrotu wokół osi V = 0 0 R = 120 0 G = 240 0 B S: odległość od osi punkty: na osi V: S=0 na ścianach: S=1 intensywność barwy: Minimalna: V:0 - na wierzchołku ostrosłupa; Maksymalna: V=1 - punkty podstawy ostrosłupa

Przetwarzanie obrazów Wykład 05 66 MODEL HSV POZWALA NA ŁATWE UTWORZENIE WYMAGANEJ BARWY podanie przy V=S=1 -ściemnianie (zmniejszanie V) i/lub rozjaśnianie (zmniejszanie S) Do wyświetlenia na monitorze barw zdefiniowanych w HSV potrzebne są współrzędne RGB Dlatego stosuje się: Algorytm transformacji (przekształcenia) modelu HSV na model RGB

Przetwarzanie obrazów Wykład 05 67 Algorytm transformacji (przekształcenia) modelu HSV na model RGB Model RGB oglądany wzdłuż przekątnej od barwy białej do czarnej Podstawa ostrosłupa modelu HSV oglądana z góry

Przetwarzanie obrazów Wykład 05 68 Algorytm dane: h - kąt z przedziału [0 0, 360 0 ] s,v, z przedziału [0, 1] oblicz: h h 60 i floor h : {największa liczba całkowita h} f h i 1 ; 1 ; 1 1- t v s u v s f w v s f jeśli i 0 r = v; g = w; b = t w przeciwnym razie jeśli r = t; g = u; b = v i = 3 to w przeciwnym razie jeśli r = u; g = v; b = t i = 1 to w przeciwnym razie jeśli r = v; g = t; b = u i = 4 to w przeciwnym razie jeśli i = 2 r = t; g = v; b = w to

Przetwarzanie obrazów Wykład 05 69 Techniki obrazowania poziomów jasności i kolorów Monitor o wielu poziomach szarości - jasność pojedynczego (fizycznego) piksla odpowiada jasności obliczonej. Monitory (tanie) o niewystarczającej liczbie poziomów szarości zamiast pojedynczych piksli - zastosowania wzorców n n piksli daje to n 2 +1 poziomów jasności dla monitora o 2 poziomach jasności; 0 - piksel zgaszony, 1 - piksel zapalony. Przykład 1 np.: n n = 3 3: wtedy 3 2 +1 = 10 poziomów Wada: Gorsza rozdzielczość obrazu (ale nie fizyczna ekranu monitora)

Przetwarzanie obrazów Wykład 05 70 Przykład 2 Model RGB: dla R, G, B przyjmujących 0, 1 (8 barw) wzorzec 2 2 piksle daje 125 barw Efekt liniowej zmiany jasności wzorców: wrażenie mniejszych zróżnicowań części ciemniejszych obrazów niż części jaśniejszych. Wzrok ludzki reaguje w sposób liniowy na przyrosty ilorazu różnicy między kolejnymi poziomami jasności i poziomem niższym a nie na różnice bezwzględne.

Przetwarzanie obrazów Wykład 05 71 Dlatego poziomy jasności I k powinny mieć rozkład logarytmiczny (stały stosunek następnego poziomu do poprzedniego) tzn: I k 1 I k const. Problem: jak wygląda w tym przypadku sposób nadawania wartości "1" kolejnym pikselom wzorców z podanych przykładów. Podać kilka elementów wzorca dla jednego i drugiego przykładu. Nazwa stosowanej techniki: technika roztrząsania (dithering)

Przetwarzanie obrazów Wykład 05 72 Przykłady modeli koloru

Przetwarzanie obrazów Wykład 05 73 CMY (205, 55, 205) CMYK (59, 0, 59, 22)

Przetwarzanie obrazów Wykład 05 74 Inne przykłady modeli koloru 1. Program Corel PhotoPaint (aktywacja paska narzędziowego: Tools, Customization, a następnie przy otworzonym pliku obrazowym: Edit, Fill, Edit, Options, Color Viewers) 2. Program \Programy\barwy (serwer Oceanic) 3. Modele kolorów - opisy i wzory: http://en.wikipedia.org/wiki/color_model 4. Dithering: http://pl.wikipedia.org/wiki/dithering_(grafika_komputerowa)

Przetwarzanie obrazów Wykład 05 75 MATERIAŁ DO WYKŁADU I ĆWICZEŃ LABORATORYJNYCH: Wykład Materiał podstawowy: M. Doros, Przetwarzanie obrazów, Skrypt WSISiZ, (Rozdz.5.1, 5.2, 5.4, 5.5, 7.4) Materiał uzupełniający: K.R.Castleman: Digital image processing, Prentice Hall International, Inc. 1998 (Rozdział 17) Ćwiczenia Laboratoryjne Materiał podstawowy: M.Doros, A. Korzyńska, M.Przytulska, H.Goszczyńska: Przetwarzanie Obrazów, ćwiczenia laboratoryjne, Skrypt WSISiZ, (Rozdz.10, 11)

OPERACJE MORFOLOGICZNE, SEGMENTACJA I ANALIZA OBRAZU WYKŁAD 6 Marek Doros

Przetwarzanie obrazów Wykład 6 2 Operacje morfologiczne Są to operacje, w których modyfikacja danego piksela obrazu jest uzależniona od kształtu elementu strukturalnego (wzorca) użytego w danej operacji oraz od spełnienia zadanego warunku logicznego. Cel: przygotowanie poszczególnych elementów obrazu do analizy Element strukturalny: pewien fragment obrazu z wyróżnionym punktem centralnym. Główna cecha różniąca operacje morfologiczne od operacji punktowych i operacji sąsiedztwa: W operacjach morfologicznych przekształcana jest tylko ta część pikseli obrazu, których otoczenie jest zgodne z elementem strukturalnym

Przetwarzanie obrazów Wykład 6 3 Podstawowy element strukturalny koło o promieniu jednostkowym Siatka heksagonalna (1 rodzaj ) Siatka prostokątna (2 rodzaje) kwadrat romb

Przetwarzanie obrazów Wykład 6 4 Inne elementy strukturalne: np. koło o promieniu r = 7

Przetwarzanie obrazów Wykład 6 5 Przykładowe operacje morfologiczne erozja, dylatacja, otwarcie, zamknięcie.

Przetwarzanie obrazów Wykład 6 6 Erozja Dwa rodzaje erozji: wykorzystanie sąsiedztwa 8-spójnego i 4-spójnego (przykładowe wzorce: kwadrat i romb). Operacja ta dotyczy obrazów szaro odcieniowych. Algorytm erozji opiera się na wybraniu piksela o wartości najmniejszej i wstawieniu go w miejsce środkowego.

Przetwarzanie obrazów Wykład 6 7 Kwadrat wybór najmniejszej wartości z sąsiedztwa 8-spójnego wstawienie wybranej wartości w środek 4 5 7 3 7 9 1 14 5 4 5 7 3 1 9 1 14 5 Romb wybór najmniejszej wartości z sąsiedztwa 4-spójnego wstawienie wybranej wartości w środek 5 3 7 9 14 5 3 3 9 14

Przetwarzanie obrazów Wykład 6 8 Dylatacja Dwa rodzaje dylatacji: wykorzystanie sąsiedztwa 8-spójnego i 4-spójnego (przykładowe wzorce: kwadrat i romb). Operacja ta dotyczy obrazów szaro odcieniowych. Algorytm dylatacji opiera się na wybraniu piksela o wartości największej i wstawieniu go w miejsce środkowego.

Przetwarzanie obrazów Wykład 6 9 Kwadrat wybór największej wartości z sąsiedztwa 8-spójnego wstawienie wybranej wartości w środek 4 5 7 3 7 9 1 14 5 4 5 7 3 14 9 1 14 5 Romb wybór największej wartości z sąsiedztwa 4-spójnego wstawienie wybranej wartości w środek 5 3 7 9 14 5 3 14 9 14

Przetwarzanie obrazów Wykład 6 10 Otwarcie Operacja morfologiczna, która opiera się na dwóch innych operacjach: erozji i dylatacji. Otwarcie polega na wykonaniu na obrazie najpierw erozji (minimum), a następnie na tak przetworzonym obrazie należy zastosować dylatację (maksimum). Zamknięcie Operacja morfologiczna, która opiera się na dwóch innych operacjach: dylatacji i erozji. Zamknięcie polega na wykonaniu na obrazie najpierw dylatacji (maksimum), a następnie na tak przetworzonym obrazie należy zastosować erozję (minimum). Pocienianie Zmniejszenie obiektu o piksele będące jego krawędzią.

Przetwarzanie obrazów Wykład 6 11 Pogrubianie Zwiększenie obiektu o dodatkowe piksele w miejscu krawędzi obiektu. Ekstrakcja konturu Kolejność działań: 1) operacja erozji obrazu, 2) odjęcie obrazu podstawowego od obrazu po erozji. W wyniku otrzymujemy kontur obiektu. Szkieletyzacja Operacja, która wykrywa szkielet obiektu. Przykładowy algorytm szkieletyzacji: 1) obliczyć, ile erozji można wykonać, aby obraz nie został sprowadzony do tła, 2) wykonać obliczoną ilość razy erozję i otwarcie. Wyniki kolejnych kroków erozji i otwarcia należy od siebie odjąć. Wyniki odejmowania z kolejnych kroków należy wstawić w obraz wynikowy.

Przetwarzanie obrazów Wykład 6 12 Segmentacja obrazu Segmentacja obrazu (etykietowanie) - rozbicie obrazu (uprzednio przefiltrowanego i zbinaryzowanego) na fragmenty odpowiadające poszczególnym, widocznym na obrazie obiektom; wydzielenie obszarów obrazu spełniających pewne kryteria jednorodności, np. kolor obszaru, poziom jasności, faktura. Indeksacja wydzielonych obiektów obrazu, tzn. wypełnianie wydzielonych obszarów odpowiadających obiektom sztucznie wprowadzonymi "poziomami szarości". Dwojakie rozumienie segmentacji: jako podział na jednorodne rejony, jako podział na interesujące nas obiekty oraz na dopełnienie.

Przetwarzanie obrazów Wykład 6 13 Cel segmentacji Przygotowanie obrazu do etapu właściwego rozpoznawania obiektów, określenia relacji przestrzennych pomiędzy nimi. Segmentacja stanowi poziom pośredni pomiędzy poziomem wstępnego przetwarzania a poziomem analizy obrazu.

Przetwarzanie obrazów Wykład 6 14 Rodzaje segmentacji (około 1000 algorytmów segmentacji) Poszukiwanie nieciągłości czyli poszukiwanie krawędzi, a w konsekwencji wskazanie wnętrza obiektu (np. z wykorzystaniem histogramu dwuwymiarowego), Maksymalne obszary wykazujące podobieństwo w kolorze, odcieniu szarości, teksturze Wododziały (ang. watershed transform), Podziały przeszukujące obszar Dopasowywanie konturów np. metoda aktywnego konturu, (ang. Active contour). Uwaga W wyniku stosowania obszarowych metod segmentacji uzyskuje się zawsze obszary zamknięte (granice obszarów są ciągłę). Jest to zaleta w porównaniu np. z metodami detekcji krawędzi, które na ogół nie zapewniają ciągłości wykrytych krawędzi.

Przetwarzanie obrazów Wykład 6 15 Techniki segmentacji Progowanie Progowanie dobrze segmentuje tylko wtedy, gdy: istnieje rozdzielność poziomów szarości lub kolorów obiektu i tła gdy wartość minimum lokalnego w histogramie jest jak najmniejsza (ang. valley method ) Podobieństwo tekstury Tekstura reprezentuje pewną relatywną jednorodność/jednolitość, odczuwaną wzrokowo przez odbiorcę lub udowadnianą jako matematyczna regularność dzięki analizie sygnału.

Przetwarzanie obrazów Wykład 6 16 Jednorodność jest oparta na powtarzalności konstrukcyjnego elementu, wewnątrz którego istnieje pewna nierównomierność poziomów szarości (relacja między podelementami elementu konstrukcyjnego, czyli połączonymi grupami sąsiadujących ze sobą pikseli, jest stała) lub organizację lub uporządkowanie elementów w przestrzeni.

Przetwarzanie obrazów Wykład 6 17 Analiza tekstury oparta na regularności ocenianej metodami statystycznymi, na podstawie macierzy współwystąpień (ang. cooccurrence matrix), opisującej częstość występowania dwóch pikseli odległych od siebie o d w jednym z 4 lub 8 podstawowych kierunków, zdefiniowaną przez Haralicka. oparta na różnych zaawansowanych modelach matematycznej regularności (np. model powtarzalności/zależności poziomów szarości w różnych kierunkach obrazu oparty na stochastycznych polach Markowa (ang. random Markov field) lub model fraktalny samopodobieństwa (ang. fractal model) oparta na morfologii matematycznej, która używa różnych transformacji do porównywania struktur w obrazie do znanego elementu konstrukcyjnego tekstury

Przetwarzanie obrazów Wykład 6 18 Techniki obszarowe segmentacji segmentacja przez podział obszaru (region - splitting) segmentacja przez rozrost obszaru (region - growing)

Przetwarzanie obrazów Wykład 6 19 Segmentacja przez podział obszaru ma charakter iteracyjny (rekursywny) i polega na stopniowym podziale dużych obszarów na mniejsze, w których piksele mają odpowiednią własność (kolor, jasność, teksturę), znacznie różniącą się od własności pikseli w innych obszarach. Zastosowanie metody progowania, wybór progu dyskryminacji Q (poziom szarości). Dołączanie pikseli spełniających warunki progowania i będących sąsiadami jednego lub więcej pikseli należących już do obszaru (otrzymanego już w poprzednim kroku w wyniku podziału)

Przetwarzanie obrazów Wykład 6 20 Kryterium pozwalające zaliczyć znaleziony obszar do obiektu (a nie pseudoobiektu) jest oparte na wielkości obszaru. Kryterium: różnica pomiędzy poziomem szarości obszaru dołączanego do obiektu a poziomem szarości tego obiektu jest mniejsza od zadanego progu. Wada: Duża złożoność obliczeniowa segmentacji przez podział.

Przetwarzanie obrazów Wykład 6 21 Zmniejszenie złożoności obliczeniowej Przeprowadzenie segmentacji wstępnej na obrazie o zredukowanej rozdzielczości (przestrzennej) a następnie przeprowadzenie segmentacji dokładnej przy pełnej rozdzielczości obrazu.

Przetwarzanie obrazów Wykład 6 22 Segmentacja przez rozrost obszaru grupowanie sąsiednich pikseli, których określona własność czyli atrybut (np. jasność, kolor, tekstura) mieści się w przyjętym zakresie podobieństwa. Grupy te stanowią obszary atomowe. Następnie testowanie sąsiadujących ze sobą obszarów atomowych pod względem ich własności i relacji przestrzennych w celu ich połączenia (scalenia). W tym przypadku kryteriami łączenia sąsiadujących obszarów mogą być: długość ich wspólnej granicy oraz długość obwodów a także wzajemne usytuowanie tych obszarów.

Przetwarzanie obrazów Wykład 6 23 L - długość granicy wspólnej O 1 - obwód 1 - go obszaru O 2 - obwód 2 - go obszaru Warunek połączenia: L/O 1 lub L/O 2 - muszą przekroczyć pewien próg. Własność segmentacji przez rozrost: silna zależność wyników segmentacji od wyboru kryterium. Nieskomplikowane sceny - dobre wyniki Sceny złożone - tendencje do tworzenia małych obszarów.

Przetwarzanie obrazów Wykład 6 24 Redukcję wpływu wyboru progu na rezultaty segmentacji można uzyskać poprzez przechowywanie drzewa obszarów otrzymanych na różnych poziomach rozrostu obszaru. Jest wtedy możliwość badania przed procedurą segmentacji dodatkowych zależności między obszarami.

Przetwarzanie obrazów Wykład 6 25 Segmentacja oparta na statystyce Dotyczy obrazów, dla których jednorodność obszaru nie jest mierzona jednorodnością takich atrybutów jak jasność czy kolor. Jednorodność obszaru mierzona jest stałym wzorcem (teksturą). Segmentacja opiera się w tym przypadku na statystycznych właściwościach obszarów. Niektóre metody: analiza fraktalna tekstury oparta na wymiarze fraktalnym D używanym jako parametr wyróżniającym poszczególne tekstury. wyróżnianie (a również tworzenie) tekstur z wykorzystaniem parametrów stochastycznych rozkładów Markowa tekstura statystyczna

Przetwarzanie obrazów Wykład 6 26 Indeksacja bezpośrednia obiektów po segmentacji (metoda stosu) 1 krok: kasowanie obiektu, zapamiętanie na stosie. Analiza kolejnych linii obrazu binarnego b(x,y). Po napotkaniu pierwszego punktu obiektu (b=1) następuje przeszukiwanie najbliższego otoczenia wykrytego punktu i kasowanie kolejnych punktów należących do tego samego obiektu. Jednoczesne zapamiętywanie skasowanych punktów na stosie zlokalizowanym w pamięci komputera. 2 krok: odtwarzanie obiektu polegające na nadaniu pikselom wartości będących kolejnymi identyfikatorami odnalezionych obiektów - automatyczne indeksowanie (do zakodowania indeksu wystarcza w praktyce 1 bajt).

Przetwarzanie obrazów Wykład 6 27 Problem: Dlaczego do zakodowania indeksu wystarcza w praktyce 1 bajt? Jak wygląda obraz po 1-szym kroku?

Przetwarzanie obrazów Wykład 6 28 Algorytm liniowego przeglądania obrazu i sklejeń Przeglądanie obrazu linia po linii x - punkt badany; załóżmy, że należy on do obiektu; dalsze postępowanie zależy od wartości punktów już badanych (a,b,c,d), tzn. czy należą one do obiektu, czy nie. 2 warianty metody: tworzenie i bieżąca modyfikacja tablicy sklejeń wykonywanie sklejeń na bieżąco

Przetwarzanie obrazów Wykład 6 29 Tworzenie i bieżąca modyfikacja tablicy sklejeń Tablica taka ma tyle elementów, ile jest możliwych do wykrycia obiektów (zwykle 254 przy jednobajtowym indeksowaniu obiektów). Indeksami elementów tablicy są numery obiektów nadawane wstępnie w trakcie segmentacji obrazu, wartościami elementów tablicy są definitywne numery obiektów. Sklejenia dokonuje się poprzez wpisanie do elementów tablicy o indeksach równych numerom sklejanych obiektów - numeru obiektu po sklejeniu.

Przetwarzanie obrazów Wykład 6 30 Przykład Załóżmy, że na pewnym etapie procesu segmentacji wykryto 5 oddzielnych obiektów: (sklejenie obiektów 3 i 5) (sklejenie obiektów 1 i 3)

Przetwarzanie obrazów Wykład 6 31 Tablica LUT Zamiana numerów obiektów sklejanych na odczytane z tablicy. Zaleta metody Metoda sklejeń przy użyciu liniowego przeglądania obrazu jest szybsza od metody indeksowania iteracyjnego (rekursywnego). Wady: większy stopień skomplikowania algorytmu, niż w metodzie indeksowania rekursywnego. możliwość przepełnienia tablicy sklejeń (1 wariant). wielokrotne przekodowywanie obrazu.

Przetwarzanie obrazów Wykład 6 32 Analiza obrazu Analiza obrazu opis obrazu, wyznaczenie dla każdego obiektu cech przydatnych do rozpoznania Cechy te mogą odnosić się np. do: kształtu obiektu, liczby obiektów (zliczenie poprzez etykietowanie), pola powierzchni (wielkości) obiektów, długości osi, wzajemnego położenia poszczególnych obiektów.

Przetwarzanie obrazów Wykład 6 33 Wyznaczanie cech odniesionych do kształtu obiektu Obraz po segmentacji: Żądana własność cech odniesionych do kształtu obiektu: afiniczność czyli niezmienniczość względem: obrotu. przesunięcia. skali. Jakie cechy nadać obiektom 1, 2, 3, aby dokonać ich odpowiedniej klasyfikacji Podstawowe cechy opisujące kształt obiektu współczynniki kształtu (liczone na podstawie pola powierzchni S i obwodu L obiektu stanowią zgrubne przybliżenie kształtu) momenty geometryczne (pozwalają na lepsze rozróżnienie obiektów niż współczynniki kształtu, ale wymagają dłuższych obliczeń.

Przetwarzanie obrazów Wykład 6 34 Współczynniki kształtu Współczynniki cyrkularności (W1,W2): W1 określa średnicę koła o równej powierzchni badanego obiektu W2 określa średnicę koła o długości obwodu równej długości obwodu badanego obiektu L - obwód obiektu, S - powierzchnia obiektu Współczynnik Malinowskiej Współczynniki W1,2,3 - szybkie obliczanie

Przetwarzanie obrazów Wykład 6 35 Współczynnik Blaira-Blissa (większa wrażliwość na zmiany kształtu); r odległość elementu pola ds od środka ciężkości obiektu Współczynnik Danielssona l - minimalna odległość elementu ds od konturu obiektu Współczynnik Haralicka d - odległość pikseli konturu od jego środka ciężkości n - liczba punktów konturu. Współczynniki W4,5,6 - wolniejsze obliczanie niż W1,2,3

Przetwarzanie obrazów Wykład 6 36 Współczynnik Lp1; r min - minimalna odległość konturu od środka ciężkości R max - maksymalna odległość konturu od środka ciężkości Współczynnik Lp2 W7, W8 określają cechy pośrednie Współczynnik Mz (Malinowskiej uproszczony) L max - maksymalny gabaryt obiektu

Przetwarzanie obrazów Wykład 6 37 Przykład wyznaczenie W1 i W2 dla wybranych obiektów 1W1, 2W1 - współczynnik W1 liczony odpowiednio dla obiektu 1 i 2 1W2, 2W2 - współczynnik W2 liczony odpowiednio dla obiektu 1 i 2

Przetwarzanie obrazów Wykład 6 38 W1 wyznacza średnicę koła (2r 1 lub 2r 2 ) o powierzchni równej powierzchni analizowanego obiektu W1 wyznacza średnicę koła (2r 1 lub 2r 2 ) o obwodzie równym powierzchni analizowanego obiektu Zobrazowanie W1 i W2 dla obiektu 2: Problem: zobrazować W1 i W2 dla obiektu 1

Przetwarzanie obrazów Wykład 6 39 Przykład Wyznaczenie W7 i W8 (Lp1, Lp2) dla obiektów 1 i 2 Obiekt 1: W7 @1, W8 1 Obiekt 2: W7 1, W8 1 Współczynniki kształtu W1,...,W9 stanowią skalarną miarę kształtu analizowanego obiektu. Wyznaczone współczynniki kształtu służą do utworzenia wektora cech

Przetwarzanie obrazów Wykład 6 40 Podejście formalne do etapu analizy obrazu Analiza obrazu - przedstawienie każdego z poszczególnych obiektów danego obrazu w postaci wektora cech dla przeprowadzenia procesu rozpoznania (ostatni etap procesu przetwarzania obrazu) Analiza obrazu - realizacja odwzorowania: B:D X D - przestrzeń obrazów, X - przestrzeń wektorów cech B - odwzorowanie

Przetwarzanie obrazów Wykład 6 41 Analiza obrazu redukcja obrazu do punktu w n-wymiarowej przestrzeni cech lub do wektora cech x w n-wymiarowej przestrzeni cech x 1,..., x n - współrzędne (składowe) wektora Np. n=2, x 1 =W1, x 2 =W2; wtedy x=[w1,w2] T x 1 =W3, x 2 =W9; wtedy x=[w3,w9] T x 1 =W7, x 2 =W8; wtedy x=[w7,w8] T

Przetwarzanie obrazów Wykład 6 42 Przykład Przedstawić za pomocą odpowiedniego wzoru i umiejscowić w dwuwymiarowej przestrzeni wektorów cech dwa wektory cech odpowiadających współczynnikom kształtu o następujących wartościach: Obraz 1: x 11 = W3 = 2, x 21 = W9 = 4 Obraz 2: x 12 = W3 = 3, x 22 = W9 = 5 Rozwiązanie Wektor cech obrazu 1: x 1 = [x 11, x 21 ] T = [W3, W9] T = [2, 4] T Wektor cech obrazu 2: x 2 = [x 12, x 22 ] T = [W3, W9] T = [3, 5] T Następnie znajdujemy różnicę pomiędzy wektorami cech obrazu 1 i 2 stosując znane metryki, np. euklidesową i uliczną (Manhattan). Dla podanego przykładu wartości metryki euklidesowej i ulicznej (Manhattan) są różne.

Przetwarzanie obrazów Wykład 6 43 MATERIAŁ DO WYKŁADU I ĆWICZEŃ LABORATORYJNYCH: Wykład Materiał podstawowy: M. Doros, Przetwarzanie obrazów, Skrypt WSISiZ, (Rozdz.6.1, 6.2, 6.3, 6.5) Materiał uzupełniający: R.Tadeusiewicz, P.Korohoda: Komputerowa analiza i przetwarzanie obrazów, Kraków 1997 (Rozdz. 5, 6) http://winntbg.bg.agh.edu.pl/skrypty2/0098/ (lub plik..\pobz\materialy\tadeusiewiczkorohoda.pdf na UBIKu) Ćwiczenia Laboratoryjne Materiał podstawowy: M.Doros, A. Korzyńska, M.Przytulska, H.Goszczyńska: Przetwarzanie Obrazów, ćwiczenia laboratoryjne, Skrypt WSISiZ, (Rozdz.9, 13, 14)

ANALIZA I ROZPOZNANIE OBRAZU WYKŁAD 7 Marek Doros

Przetwarzanie obrazów Wykład 7 2 Analiza obrazu Analiza obrazu opis obrazu, wyznaczenie dla każdego obiektu cech przydatnych do rozpoznania Cechy te mogą odnosić się np. do: kształtu obiektu, liczby obiektów (zliczenie poprzez etykietowanie), pola powierzchni (wielkości) obiektów, długości osi, wzajemnego położenia poszczególnych obiektów.

Przetwarzanie obrazów Wykład 7 3 Analiza obrazu realizacja odwzorowania: B : D X D - przestrzeń obrazów, X - przestrzeń wektorów cech B odwzorowanie wyznaczenie cech obiektów (wyodrębnionych uprzednio w procesie segmentacji) przydatnych w procesie właściwego rozpoznawania; cechy charakteryzujące kształty; współczynniki niezmiennicze względem typowych przekształceń obrazów (obroty, przesunięcia, zmiany skali) współczynniki kształtu, momenty geometryczne.

Przetwarzanie obrazów Wykład 7 4 Analiza obrazu redukcja obrazu do punktu w n-wymiarowej przestrzeni cech lub do wektora cech x w n-wymiarowej przestrzeni cech: x [ x 1,..., x n ] T x X x 1,...,x n - współrzędne (składowe) wektora Przykład piksel jako składowa N 2 elementowego wektora cech (tzn. n=n 2 ). Obraz M N N 256 B 8(1bajt) M - liczba poziomów jasności T wtedy T x 2 x 1,..., xn d d1 2,..., d N L 2 B N N L - liczba klas, czyli w tym przypadku liczba wszystkich możliwych obrazów, piksel d i stanowi i-tą składową wektora cech, gdzie i=1,...,n 2.

Przetwarzanie obrazów Wykład 7 5 Rozpoznanie obrazu realizacja odwzorowań C L L : X R F : R I C - ustalenie miary podobieństwa (dopasowania) nieznanego obiektu d opisanego wektorem cech x X do jednej z klas L D F - ustalenie ostatecznej decyzji o przynależności obiektu d opisanego wektorem cech x do klasy i I dla której miara podobieństwa jest maksymalna. Efekt rozpoznania automatyczna identyfikacja klasy, do której można zaliczyć nieznany obiekt (np. obraz).

Przetwarzanie obrazów Wykład 7 6

Przetwarzanie obrazów Wykład 7 7 Przykład Przedstawić za pomocą odpowiedniego wzoru i umiejscowić w dwuwymiarowej przestrzeni wektorów cech dwa wektory cech odpowiadających współczynnikom kształtu o następujących wartościach: Obraz 1: x 11 = W3 = 2, x 21 = W8 = 4 Obraz 1: x 12 = W3 = 3, x 22 = W8 = 5 Rozwiązanie Wektor cech obrazu 1: x = [x 11,..., x 21 ] T = [W3, W8] T = [2, 4] T Wektor cech obrazu 2: x = [x 12,..., x 22 ] T = [W3, W8] T = [3, 5] T Następnie znajdujemy różnicę pomiędzy wektorami cech obrazu 1 i 2 stosując znane metryki, np. euklidesową i uliczną (Manhattan). Dla podanego przykładu wartości metryki euklidesowej i ulicznej (Manhattan) są różne.

Przetwarzanie obrazów Wykład 7 8 Obliczenia: Metryka euklidesowa: Metryka uliczna: Stąd

Przetwarzanie obrazów Wykład 7 9 Przykład dla warunku, aby wartości metryki euklidesowej i ulicznej (Manhattan) były takie same. Wektor cech obrazu 1: Wektor cech obrazu 2: x = [x 11,..., x 21 ] T = [W3, W8] T = [2, 4] T x = [x 12,..., x 22 ] T = [W3, W8] T = [3, 4] T Metryka euklidesowa: Metryka uliczna: Stąd

Przetwarzanie obrazów Wykład 7 10 Współczynnik kształtu jako element kodu wynikowego obrazu w procesie kompresji Przykład Proces kompresji jednoobiektowego obrazu o rozmiarach 256 256 punktów (pikseli). postać rastrowa: 256 256 1 bajt = 65536 bajtów postać binarna 65536 : 8 = 8192 bajtów postać wektorowa : (współrzędne x, y kolejnych punktów konturu) - tyle ile punktów konturu 2; np.: 1000 2 = 2000 bajtów kod Freemana: 2000 : 5 = 400 bajtów (w przybliżeniu)

Przetwarzanie obrazów Wykład 7 11 Własności współczynników kształtu W: zbliżone wartości W dla obiektów o zbliżonym kształcie pozwalają określać stopień podobieństwa nieznanego obiektu do poszczególnych znanych klas, identyczne kształty - identyczne wartości W. Wady współczynników kształtu: duże zmiany skali mogą powodować, że współczynniki W dla różnych wielkości tego samego obiektu różnią się między sobą. Pojawia się wtedy możliwość błędnego zakwalifikowania do innej klasy, np. prostokąta do klasy koło lub odwrotnie. Momenty geometryczne: Pozwalają na lepsze rozróżnienie obiektów niż współczynniki kształtu, ale wymagają dłuższych obliczeń

Przetwarzanie obrazów Wykład 7 12 Wykresy słupkowe (3D) Wrażliwość współczynników kształtu na wielkość obiektu

Przetwarzanie obrazów Wykład 7 13 Niewrażliwość momentów na zmiany wielkości obiektu

Przetwarzanie obrazów Wykład 7 14 Przedziały zmienności współczynnika W8 dla różnych obiektów (kop,wyc, pol,...)