Dane obrazowe R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski www.il.pw.edu.pl/~rg s-rg@siwy.il.pw.edu.pl
Przetwarzanie danych obrazowych! Przetwarzanie danych obrazowych przyjmuje trzy formy:! Grafikę komputerową,! Przetwarzanie obrazów,! Rozpoznawanie obrazów. Obraz Przetwarzanie obrazu Grafika Rozpoznawanie obrazu 2 Opis
Grafika komputerowa! Zajmuje się tworzeniem obrazów na podstawie informacji nieobrazowej. Przykłady to:! Wykresy funkcji i danych eksperymentalnych,! CAD,! Symulacje komputerowe.! Plastyka i animacja komputerowa to dwie dziedziny, które wymagają poza wiedzą techniczna także talentów artystycznych.! Grafika interakcyjna dotyczy systemów, w których dane wejściowe użytkownika podawane są w postaci graficznej. 3
Przetwarzanie obrazów! Dotyczy zagadnień, w których dane wejściowe i wyniki mają postać obrazów.! Przesyłanie obrazów wraz z kompresją,! Poprawa jakości obrazów (kontrast, luminancja)! Przykład zaawansowany to konstruowanie obrazów przekroju ciała ludzkiego na podstawie rentgenogramów. 4
Rozpoznawanie obrazów! Są to metody tworzenia opisu obrazu wejściowego lub zakwalifikowanie obrazu do jakiejś szczególnej klasy.! W pewnym sensie jest to zagadnienie odwrotne do grafiki komputerowej - proces zaczyna się od obrazu a kończy się abstrakcyjnym zbiorem opisującym go.! Przetwarzanie obrazów zajmuje się znajdywaniem konturów a równoważnym działaniem w grafice jest wypełnianie konturów - są to operacje odwrotne i pewne zagadnienia teoretyczne są wspólne. 5
Formy danych obrazowych! Rozważając przetwarzanie obrazów wygodnie jest je podzielić na cztery klasy odnoszące się raczej do sposobu ich przedstawiania i przetwarzania niż do rzeczywistej formy wizualnej.! Obrazy o pełnej gradacji kontrastów i kolorowe (klasa_1)! Obrazy dwupoziomowe lub "kilkukolorowe" (klasa 2)! Krzywe ciągłe i linie proste (klasa 3)! Punkty lub wieloboki (klasa 4) 6
Klasa 1! Obrazy o pełnej gradacji kontrastów i kolorowe (klasa 1)! Są one dokładnym przedstawieniem rzeczywistości. Są one reprezentowane jako macierze z elementami całkowitymi nazywanymi element obrazu, pixel lub pel.! Do reprezentowania obrazów kolorowych mogą służyć trzy macierze lub jedna macierz, w której różne bity każdego elementu odpowiadają poszczególnym kolorom. 7
Klasa 2! Obrazy dwupoziomowe lub "kilkukolorowe" (klasa 2)! Przykładem takiego obrazu może być strona tekstu.! Obrazy tej klasy mogą być reprezentowane jako macierze z jednym bitem na element a także jako "mapy" ponieważ zawierają jednoznacznie określone obszary jednego koloru. 8
Klasa 3! Krzywe ciągłe i linie proste (klasa 3)! Kontury obszarów lub wykresów są przykładami takich obrazów.! Dane są ciągami punktów, które mogą być reprezentowane jako ich współrzędne - jest to jednak metoda nieefektywna. 9
Kody łańcuchowe! Kody łańcuchowe polegają na tym, że wektor łączący dwa kolejne punkty jest określony jednym symbolem ze skończonego zbioru symboli.! Różnicowe kody łańcuchowe są bardziej efektywną metodą, gdzie reprezentacją każdego punktu jest różnica między dwoma kolejnymi kodami bezwzględnymi (dla krzywych gładkich te różnice są niewielkie!) 1 10 7 0
Klasa 4! Punkty lub wieloboki (klasa 4)! Obrazy tej klasy składają się ze zbioru oddzielnych punktów, które są tak od siebie oddalone, że nie mogą być reprezentowane przez kod łańcuchowy.! W zamian należy zastosować tablice ich współrzędnych.! Obrazy tego typu są najczęściej stosowane w grafice komputerowej. Chociaż same obrazy są klasy 2 lub 1 to ich wewnętrzna reprezentacja jest klasy 4. 11
Wprowadzanie obrazów! Aby obraz analogowy mógł być przetwarzany komputerowo zamieniamy go na tablicę liczb.! Proces dyskretyzacji składa się z:! Próbkowania - wyboru zbioru punktów z pola obserwacji, pomiaru parametrów obrazu i stosowania tego w analizie całego obrazu.! Kwantowania - opisu danych pomiarowych za pomocą skończonej liczby cyfr.! Rozdzielczość przestrzenna dotyczy gęstości punktów próbkowania.! Rozdzielczość poziomów jasności lub koloru dotyczy wierności przedstawienia danych pomiarowych. 12
Grafika wektorowa! Urządzenia grafiki wektorowej tworzą obrazy klasy 3 lub 4. Elementarne rozkazy mają postać:! P(x,y) - ustaw plamkę świetlna w punkcie (x,y)! S(z) - ustaw jasność zgodnie z wartością z! Aby wyświetlić obiekt należy utworzyć odpowiednia sekwencję tego typu rozkazów.! Zaleta tej grafiki to oddzielenie opisu obiektu od ekranu. 13
Grafika wektorowa! Obraz pamiętany jest i interpretowany w postaci obiektów takich jak:! Punkty, linie,! Okręgi, elipsy, krzywe,! Trójkąty, wieloboki,! Linie wymiarowe, linie tekstu,! Powierzchnie, bryły.! Stosowana jest w systemach wspomagania projektowania obiektów technicznych. 14
Grafika rastrowa! Urządzenia grafiki rastrowej tworzą obrazy klasy 1 lub 2.! Zasadniczą cechą urządzeń rastrowych jest duża pojemność pamięci.! Wszystkie parametry obrazu są przechowywane w odpowiednich komórkach pamięci. 15
Obraz cyfrowy i analogowy! Fotografia wykonana aparatem małoobrazkowym jest przykładem obrazu analogowego! zapisana w nim informacja ma charakter ciągły we wszystkich kierunkach.! Obraz cyfrowy uzyskuje się poprzez próbkowanie obrazu analogowego w regularnych odstępach w celu dyskretyzacji informacji. 16
Dyskretyzacja 17
Kodowanie! Kodowanie obrazu polega na redukcji liczby bitów potrzebnych do reprezentacji obrazu poprzez kody o zmiennej długości.! Kodowanie o zmiennej długości słowa wykorzystuje:! krótsze kody dla symboli częściej występujących (bardziej prawdopodobnych),! dłuższe dla rzadziej występujących (mniej prawdopodobnych)! Prowadzi to do zmniejszenia średniej długości słowa kodowego. 18
Kodowanie metodą Huffmana! Wszystkim symbolom należy przypisać puste słowa kodowe! Dołączyć 0 do słowa kodowego najbardziej prawdopodobnego symbolu! Dołączyć 1 do słowa kodowego każdego z pozostałych symboli w zbiorze S! Usunąć najbardziej prawdopodobny symbol z listy symboli! Powyższe kroki powtarzać aż do chwili, aż lista zostanie zredukowana do jednego symbolu. 19
Przykład kodowania 0 0.2 1 0.4 2 0.1 3 0.1 4 0.1 5 0.2 Krok 1 1 0 0 1 2 1 3 1 4 1 5 1 Krok 2 0 10 2 11 3 11 4 11 5 11 Krok 3 5 110 2 111 3 111 4 111 Krok 4 2 1110 3 1111 4 1111 Krok 5 3 11110 4 11111 20 10 0 1110 11110 11111 110
Dyskretna transformata Fouriera f ( x) = a 0 + ai cos( ix) + bi sin( ix) i= 1 i= 1! Technikę jednowymiarowej transformaty Fouriera można zastosować również dla funkcji dwuwymiarowych do kompresji obrazów cyfrowych.! Należy wykorzystać składowe kosinusowe w celu przekształcenia obrazu o wymiarach n*n na pewną liczbę składowych. 21
Przekształcenia obrazów (1)! Klasa 1 w 2 - segmentacja, czyli identyfikacja obszarów, gdzie kolor lub jasność są w przybliżeniu jednakowe.! Klasa 2 w 3 - znajdywanie konturu i ścienianie.! Klasa 3 w 4 - segmentacja krzywych mająca na celu znalezienie punktów krytycznych na konturze.! Klasa 4 w 3 - interpolacja, w której krzywa gładka jest rysowana przez zbiór punktów i aproksymacja, gdzie krzywa gładka ma przechodzić blisko zadanych punktów. 22
Przekształcenia obrazów (2)! Klasa 3 w 2 - gdy na wejściu mamy kontur powstaje wówczas zagadnienie jego wypełnienia, które jest opisywane podobnie jak zagadnienie cieniowania.! Klasa 2 w 1 - obraz może sprawiać wrażenie mało estetycznego, gdy widać kontury kolorów; płynniejsze przejście można uzyskać stosując filtry dolnoprzepustowe bądź dodatkowe zakłócające drżenie kolorów. 23
Przekształcenia obrazów (3)! Przekształcenia z klasy niższej do wyższej należą do rozpoznawania obrazów.! Przekształcenia z klasy wyższej do niższej to grafika komputerowa.! Przetwarzanie obrazów zajmuje się obydwoma typami przekształceń. 24