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)