Laboratorium: Cyfrowe przetwarzanie obrazów i sygnaªów Dyskretyzacja i kwantyzacja obrazów 1 Cel i zakres wiczenia Celem wiczenia jest zapoznanie si z procesami dyskretyzacji i kwantyzacji, oraz ze zjawiskami jakie zachodz przy ich stosowaniu. Dyskretyzacja i kwantyzacja wyst puj najcz ±ciej w pocz tkowym etapie przetwarzania obrazów, przy ich akwizycji. W procesie dyskretyzacji (próbkowania) wykorzystuje si ró»ne sposoby interpolacji punktów obrazu (ang. pixels). 2 Przykªady Zjawiska zwi zane z dyskretyzacj (próbkowaniem) obrazów mo»na zaobserwowa dokonuj c kolejno zmniejszenia obrazu i jego powi kszenia do pierwotnych rozmiarów (rys. 1). Rysunek 1: Dyskretyzacja 1
Blok Resize Image dokonuje skalowania obrazu podanego na górne wej- ±cie do rozmiarów prostok ta podanego na dolne wej±cie przez rekwantyzacj z wykorzystaniem jednej z mo»liwych metod interpolacji (CV_INTER_NN, CV_INTER_LINEAR, CV_INTER_AREA, CV_INTER_CUBIC). Okno konguracyjne przedstawiono na rys. 2. Przy zmniejszaniu obrazu wskazane jest wykorzystanie interpolacji zerowego rz du (najbli»szy s siad) - CV_INTER_NN. Przy powi kszaniu obrazu mo»na zaobserwowa ró»nice jako±ci obrazu wynikowego dla ró»nych metod interpolacji. Rysunek 2: Wybór metody interpolacji Blok New Rectangle pozwala zdeniowa struktur CvRect opisuj c prostok t (rys. 3). Pola x i y deniuj poªo»enie lewego górnego wierzchoªka prostok ta, a width i height - jego rozmiary. W tym przypadku wykorzystywane s tylko wymiary prostok ta. Blok Get Size deniuje prostok t o rozmiarach obrazu podanego na jego wej±cie. Rysunek 3: Ustalanie parametrów prostok ta Kwantyzacj obrazu mo»na uzyska poprzez dzielenie warto±ci jego punktów przez staª. Zakªadaj c,»e obraz pierwotny ma N poziomów jasno±ci, a obraz wtórny ma mie ich n < N, mamy na obrazie pierwotnym N 1 przedziaªów, a na obrazie wtórnym n 1. Wobec tego staªa musi wynosi : k = N 1 n 1 2
Przykªadowo, u»ycie staªej k = 4 spowoduje redukcj poziomów szaro±ci z 256 do 64, a do redukcji z 256 do 4 poziomów k = 85. Aby odtworzy (w celu uªatwienia obserwacji na ekranie) pierwotny kontrast obrazu nale»y pomno»y go przez t sam staª (rys. 4). Rysunek 4: Kwantyzacja Bloki Division i Multiplication sªu» odpowiednio do dzielenia i mno-»enia dwóch obrazów przez siebie. Aby uzyska dzielenie i mno»enie przez staª nale»y wygenerowa obraz o odpowiednich rozmiarach i staªej warto- ±ci. Wykorzystywany jest do tego blok Fill image, na którego wej±cie podajemy obraz pierwotny w celu zdeniowania rozmiarów. Warto± wypeªniaj c obraz wynikowy deniujemy w oknie konguracyjnym (rys. 5). Wybieraj c ikon na prawo od wzorca koloru otwieramy okno wyboru koloru (rys. 6). W celu uzyskania» danego odcienia szaro±ci nale»y ustawi wszystkie skªadowe RGB na jednakow warto± (w naszym przykªadzie na 4). Rysunek 5: Okno konguracyjne Fill image UWAGA: po ponownym otwarciu okna wyboru koloru ustawione warto±ci nie s widoczne (pojawia si 255,255,255), lecz s zachowane, co mo»na stwierdzi na podstawie wzorca koloru w oknie konguracyjnym. 3
Rysunek 6: Okno wyboru koloru 3 Zadania do wykonania Nale»y stworzy oddzielne projekty Harpii dla poszczególnych zada«. W zadaniach 2. i 3. nale»y przeprowadzi obserwacje dla dwóch typów obrazów: szybkozmiennego (zawieraj cego wiele drobnych szczegóªów wysokie cz stotliwo±ci) i wolnozmiennego (pozbawionego szczegóªów niskie cz stotliwo- ±ci). Mo»na te» wykorzysta jeden obraz, na którym da si wyra¹nie wydzieli regiony o powy»szych wªasno±ciach. Nale»y korzysta wyª cznie z obrazów w skali szaro±ci (grayscale), a nie z obrazów kolorowych. 1. Interpolacja. Nale»y dokona zmiany rozmiaru obrazu (powi kszenia) z wykorzystaniem ró»nych metod interpolacji i porówna jako± uzyskanych obrazów wynikowych. 2. Dyskretyzacja. Nale»y przeprowadzi wtórne próbkowanie wybranych obrazów z coraz mniejszymi rozdzielczo±ciami i zaoberwowa zwi zek akceptowalnej cz stotliwo±ci próbkowania z cz stotliwo±ciami wyst puj cymi na obrazie. 3. Kwantyzacja. Nale»y przeprowadzi wtórn kwantyzacj wybranych obrazów z coraz mniejszymi liczbami poziomów i zaobserwowa zwi zek akceptowalnej liczby poziomów z cz stotliwo±ciami wyst puj cymi na obrazie. 4
4 Uwagi pomocnicze 1. Rozmiary i typ obrazu mo»na uzyska przy pomocy komendy le (np. le /usr/share/harpia/images/lenna.png). 2. Operatory do dyskretyzacji: zmiana rozdzielczo±ci obrazu (próbkowanie, interpolacja): Experimental Resize Image. 3. Operatory do kwantyzacji: dzielenie obrazów dla zmniejszenia zakresu warto±ci: Arithmetic and logical operations Division; tworzenie obrazu o staªej warto±ci: General F ill image; mno»enie obrazów dla zwi kszenia kontrastu: Arithmetic and Logical Operations M ultiplication. 4. Operatory dodatkowe: deniowanie rozmiarów obrazu (prostok ta): Experimental N ew Rectangle; Pobieranie rozmiarów obrazu (prostok ta): Experimental Get Size; zmiana przestrzeni barw obrazu: F ilters and Color Conversion Color Conversion. 5. Przykªadowe obrazy znajduj si w katalogach: /usr/share/harpia/images/, /usr/share/harpia/cantata/. 5 Forma sprawozdania Sprawozdanie nale»y sformatowa analogicznie jak w wiczeniu EX0, zamieniaj c w odpowiednich miejscach EX0 na EX1. Prosz pami ta o umieszczeniu w poszczególnych projektach bloków komentarza zawieraj cych zwi zªy opis spostrze»e«i wnioski. Marek Wnuk 5