y - student
Transkrypt
y - student
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' = x t x y' y ty 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' = sx 0 x y' 0 sy 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 ' = cos −sin y' sin cos ● ][ ] x y 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ą [ ][ ][ ] a1 b1 c 1 x x' L x , y = y ' = a 2 b2 c 2 y 1 0 0 1 1 Współrzędne jednorodne ● Poszczególne współrzędne po wyliczeniu mają postać x '=a 1 xb1 yc 1 y ' =a 2 xb 2 yc 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 [ ] 1 0 tx T t x , t y = 0 1 t y 0 0 1 ● Skalowanie względem początku układu współrzędnych [ ] sx 0 0 S s x , s y = 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 R= sin cos 0 0 0 1 ● ] Skalowanie względem dowolnego punktu x0, y0 [ sx 0 S x y s x , s y = 0 s y 0 0 0, 0 x 0 1−s x y 0 1−s y 1 ] Transformacje 2D we współrzędnych jednorodnych ● Obrót wokół dowolnego punktu [ cos −sin −x 0 cos y0 sin x 0 R x y = sin cos −x0 sin y 0 cos y0 0 0 1 0, 0 ] Przykłady przekształceń Transformacje geometryczne - problemy ● Transformacje geometryczne realizowane na prostokątnej siatce punktów polegają na wyznaczeniu punktu na obrazie wynikowym do którego kopiowana jest wartość koloru Transformacje geometryczne - problemy ● W przypadku niektórych przekształceń, nie wszystkie punkty obrazu wynikowego będą wypełnione nową wartością koloru Transformacja odwrotna ● ● W celu wyeliminowania problemu związanego z nie wypełnieniem kolorami wszystkich punktów w obrazie wynikowym, stosuje się transformację odwrotną, która przekształca współrzędne punktów z obrazu wynikowego we współrzędne punktów obrazu źródłowego. Opisuje to zależność [] [ ] x x' −1 y =M y' 1 1