Cyfrowe przetwarzanie obrazów I Obraz jako funkcja Przekształcenia geometryczne dr. inż Robert Kazała
Definicja obrazu Obraz dwuwymiarowa funkcja intensywności światła f(x,y); wartość f w przestrzennych współrzędnych x,y określa intensywność (jasność) obrazu w tym punkcie, gdzie: 0 < f(x,y) < Dyskretyzacja obrazu dyskretyzacja funkcji f(x,y): przestrzenna (próbkowanie obrazu) amplitudowa (kwantyzacja poziomu szarości)
Definicja obrazu cyfrowego Obraz cyfrowy rozumiemy jako dwuwymiarową funkcję dyskretną g(x,y) taką, że jej argumentami są dyskretne piksele, a wartościami intensywności kolorów, np. w przestrzeni RGB, trójki liczb z przedziału [0,255].
Obraz jako funkcja dwuwymiarowa
Poziomy przekrój obrazu
Pionowy przekrój obrazu
Rozdzielczość przestrzenna obrazu
Powstawanie obrazu cyfrowego Pozyskiwanie obrazu w formie cyfrowej (kamery cyfrowe, skanery) Matryce światłoczułe(głównie CCD lub CMOS) złożone, 3 kolory na 1 chipie, tańsze monochromatyczne (po rozdzieleniu kolorów), droższe, wyższa jakość obrazu
Reprezentacja koloru Każdy z elementów dyskretnej reprezentacji obrazu może przyjmować tylko jeden z pośród ograniczonej ilości stanów. Ilość ta popularnie zwana ilością kolorów, może być także w komputerowej reprezentacji obrazu interpretowana jako ilość bitów przeznaczonych na zapamiętanie stanu jednego elementu (bpp bits per pixel). Najpopularniejsze formaty binarny 1 bpp 2 kolory monochromatyczny 8 bpp 256 stopni szarości kolorowy 24 lub 32 bpp ok. 17 milionów odcieni kolorów
Typy obrazów kolorowy monochromatyczny binarny
Obrazy indeksowane Nie zawsze wszystkie kolory są potrzebne Ze względu na objętość obrazu używa się palety tablicy kolorów użytych w obrazie, ponumerowanych i w pełnej formie Obraz zawiera wtedy ich indeksy w palecie Palety można wymieniać bez ingerencji w sam obraz
Podział algorytmów przetwarzania obrazów Przekształcenia geometryczne Przekształcenia punktowe (bezkontekstowe) Przekształcenia kontekstowe (filtry konwolucyjne, logiczne, medianowe) Przekształcenia widmowe Przekształcenia morfologiczne
Przekształcenia geometryczne Na przekształcenia geometryczne składają się: przesunięcia, obroty, odbicia, inne transformacje geometrii obrazu. Przekształcenia te wykorzystywane są do korekcji błędów wnoszonych przez system wprowadzający oraz do operacji pomocniczych
Przesunięcie Przesunięcie (translacja) obrazu realizowana jest przez dodanie stałej do każdej współrzędnej, co w postaci macierzowej można przedstawić równaniem [ x' y'] = [ x y] [ t x t y]
Skalowanie Skalowanie polegające na zmianie rozmiaru obrazu względem początku układu współrzędnych w postaci macierzowej można opisać zależnością [ x' y'] = [ s x 0 0 s y][ x y] Współczynnik skalowania s jest zwiększjący, jeżeli s > 1, a zmniejszający, jeżeli s < 1. Jeżeli sx = sy, to skalowanie nazywamy jednorodnym,a jeżeli sx sy niejednorodnym. Przy skalowaniu niejednorodnym proporcje skalowanego obiektu zmieniają się, natomiast przy skalowaniu jednorodnym proporcje nie ulegają zmianie.
Obrót Obrót wokół początku układu współrzędnych o kąt φ można wyrazić w postaci macierzowej następująco [ x' y'] [ = cos sin ][ x y] sin cos W celu wykonania obrotu względem innego punktu niż początek układu współrzędnych należy 1. Wykonać przesunięcie płaszczyzny, aby punkt obrotu znalazł się w początku układu współrzędnych. 2. Dokonać obrótu wokół nowego początku układu współrzędnych o kąt φ.
Współrzędne jednorodne Obiekty na płaszczyźnie mogą być przekształcane przez zastosowanie transformacji takich jak przesunięcia, skalowaania, obroty. Składanie transformacji polega na dodawaniu i mnożeniu odpowiednich macierzy. Złożenie obrotów i skalowań otrzymujemy przez mnożenie macierzy, natomiast przesunięciom odpowiada dodawanie wektora. Widoczna jest zatem pewna niedogodność, związana z tym, że nie można każdego przekształcenia przedstawić w postaci jednej macierzy (ponieważ przesunięcie jest realizowane inaczej niż skalowanie i obrót).
Współrzędne jednorodne Żeby móc traktować wszystkie trzy przekształcenia w jednakowy sposób i umożliwić realizację dowolnego przekształcenia przez mnożenie macierzy należy zastosować alternatywny układ współrzędnych, w którym dowolne przekształcenie daje się opisać jako mnożenie przez macierz o wymiarach 3x3. Przekształcenie takie można opisać w sposób macierzowy zależnością [ L x, y = x' ] =[a1 b1 c1 ][ 1] x y' a 2 b 2 c 2 y 1 0 0 1
Współrzędne jednorodne Poszczególne współrzędne po wyliczeniu mają postać x '=a 1 x b 1 y c 1 y' =a 2 x b 2 y c 2 Z zależności widać, że w zależności od doboru współczynników macierzy można wykonywać zarówno translacje jak i obroty oraz skalowania.
Transformacje 2D we współrzędnych jednorodnych Przesunięcie T t x,t y =[1 0 t x 0 1 t y 0 0 1] Skalowanie względem początku układu współrzędnych S s x, s y =[s x 0 0 0 s y 0 0 0 1]
Transformacje 2D we współrzędnych jednorodnych Obrót wokół początku układu współrzednych cos sin 0 sin cos 0 R =[ 1] 0 0 Skalowanie względem dowolnego punktu x0, y0 S x 0, y 0 s x, s y =[s x 0 x 0 1 s x 0 s y y 0 1 s y 0 0 1 ]
Transformacje 2D we współrzędnych jednorodnych Obrót wokół dowolnego punktu R x 0, y 0 =[cos sin x 0 cos y 0 sin x 0 sin cos x 0 sin y 0 cos y 0 0 0 1 ]