Przeksztaªcenia punktowe i geometryczne 1 Przeksztaªcenia punktowe Przeksztaªcenia punktowe (bezkontekstowe) s to przeksztaªcenia dotycz ce stopnia szaro±ci lub nasycenia barwy dla ka»dego punktu oddzielnie, dla których nie maj wpªywu warto±ci w punktach s siednich. 1.1 Liniowe przeksztaªcenia obrazu Liniowe przeksztaªcenie polega na zmianie warto±ci piksela przy u»yciu przeksztaªcenia liniowego. Zaliczamy do nich mi dzy innymi operacje dodawania, negacji czy mno»enia przez pewn liczb. Sªu» one np. do rozja±niania obrazu. Nale»y pami ta,»e przy stosowaniu kodowania uint8 dozwolone warto±ci s z przedziaªu 0-255, a dla kodowania double dozwolone s warto±ci z przedziaªu 0-1. 1.2 Nieliniowe przeksztaªcenia obrazu Do nieliniowcych przeksztaªce«zaliczamy np. pierwiastkowanie, pot gowanie logarytmowanie. W niektórych przypadkach jest to znacznie skuteczniejsze ni» liniowe korekcje. Szczególne znaczenie ma korekcja gamma γ dana wzorem eq.1. Idee dziaªania wspóªczynnika γ na obraz przedstawia rys.1. Nowy(m, n) = Stary(m, n) γ (1) Rysunek 1: Idea dziaªania korekcji γ. Dla γ < 1 zwi kszony jest kontrast dla "ciemnej" cz ±ci obrazu kosztem "jasnej" cz ±ci. Dla γ > 1 efekt jest odwrotny: zyskujemy kontrast w cz ±ci "jasnej' kosztem "ciemnej". 1
1.3 Wyrównywanie histogramu Histogram wykre±la si poleceniem imhist(obraz). Histogram jest to wykres sªupkowy okre±laj cy ile punktów przybiera dan warto± (intensywno± ). Wyrównanie histogramu polega na "upodobnieniu" go do histogramu dla rozkªadu równomiernego (wszystkie intensywno±ci maj jednakow cz stotliwo± wyst powania). Do wyrównywania histogramu sªu»y polecenie histeq(obraz, ilo± _klas). Czasami stosuje si wyrównywanie lokalne, tzn. dzieli si obraz na kilka cz ±ci i ka»d wyrównuje oddzielnie. Do tego stosuje si funkcj adapthisteq(obraz, parametry). Do najwa»niejszych parametrów tego przeksztaªcenia zaliczamy: NumTiles - Wielko± elementu, dla którego wyrównujemy histogram ClipLimits - skalarna wielko± decyduj ca o kontra±cie (0,1) NBins - Ilo± klas histogramu Range - zakres wyrównywanych warto±ci Distribution - rodzaj histogramu, do którego b dzie normowany obraz: 'uniform' (pªaski), 'Rayleigh' (dzwonkowy) i 'Exponential' (krzywa eksponenty). Alpha - parametr rozkªadu histogramu, tylko dla Rayleigh i Exponential. 1.4 Normalizacja Normalizacja ma na celu rozci gni cie zakresu tonalnego obrazu. Je»eli intensywno± punktów na obrazie zajmuje tylko cz ± dozwolonej skali, to mo»liwe jest rozci gni cie intensywno±ci tak, by zajmowaªa peªn skal. Stosowana jest normalizacja zarówno w wymiarze globalnym, jak i lokalnym. Je»eli przez M oznaczamy minimum w normalizowanym obszarze, przez N maksimum, a przez L i U odpowiednio minimum i maksimum skali, to intensywno± punktu wynosi: ( ) L U Nowy(m, n) = M N (Stary(m, n) M) + L (2) Obraz metod globaln normalizuje si przy u»yciu funkcji: imadjust(obraz, [low_in; high_in], [low_out; high_out], gamma). 1.5 Binaryzacja Binaryzacja to zamiana dowolnego obrazu na obraz logiczny. Stosuje si kilka rodzajów binaryzacji: z dolnym progiem: wszystko poni»ej progu: 0, powy»ej 1 L(m, n) = { 0 gdy L(m, n) prg 1 gdy L(m, n) > prg z górnym progiem: negatyw binaryzacji z dolnym progiem z dwoma progami: przypomina funkcj bramkow lub jej negatyw wielokryterialna: kilka progów i tylko niektóre przedziaªy maj warto± prawda / faªsz. z histerez : wymaga podania 2 warto±ci progowych (próg1<próg2), warto± piksela (m,n) dana jest wzorem: L(m, n) = 0 gdy L(m, n) prg1 s gdy prg1 < L(m, n) prg2 1 gdy L(m, n) > prg2 2
s - warto± s siaduj cych punktów. automatyczne progowanie metod maksymalnej entropii Warto± entropii H dla obrazu A deniowana jest poprzez eq3. size(a) H = (A x,y ln A x,y ) (3) Binaryzacja metod maksymalnej entropii polega na znalezieniu takiej warto±ci progu k, dziel cej obraz na tªo (piksele o intensywno±ci mniejszej lub równej k) i obiekty (o intensywno±ci wi kszej ni» k), która maksymalizuje funkcj H(k) (eq.4). 1 N k (obiekt) H(k) = 1 N k (tlo) k (A x,y ln A x,y ) k (A x,y ln A x,y ) + ln N k(tlo) N k (obiekt) (4) gdzie N k (tlo) - ilo± elementów tªa, a N k (obiekt) - ilo± pikseli obiektów uzyskanych przy binaryzacji z progiem k. 2 Przeksztaªcenia geometryczne Do przeksztaªce«geometrycznych zaliczamy mi dzy innymi: przesuni cie, obrót, znieksztaªcenie, odbicia symetryczne, powielanie fragmentów. Maj one wpªyw na ksztaªt, wielko± lub wygl d obrazu. 2.1 Przesuni cie o wektor Mo»liwe s przesuni cia o wektor z dodaniem nowej powierzchni (zwi kszenie wymiarów obrazu wyj±ciowego o wektor) lub przesuni cie w sposób cykliczny z u»yciem funkcji circshift(obraz,wektor). 2.2 Obrót Obraz mo»na obraca przy u»yciu funkcji imrotate(obraz, k t w stopniach, opcje). Pierwsz opcj s metody interpolacji nowych danych: najbli»szego s siada ('nearest'); dwuliniowa ('bilinear'); bikubiczna ('bicubic'). Drug opcj jest rozmiar wyj±ciowy obrazu: 'crop': Obraz wyj±ciowy ma taki sam rozmiar jak wej±ciowy. Rogi s obci te, wolne miejsca wypeªnione zerami. 'loose': Obraz wyj±ciowy na ogóª jest powi kszony tak, by zmie±ciª si caªy obraz. Wolne miejsca wypeªnione zerami. Opcjami domy±lnymi jest 'nearest','loose'. U»ycie k ta dodatniego powoduje obrót przeciwnie do kierunku wskazówek zegara. 3
2.3 Odbicia symetryczne Odbicia symetryczne mog by wzgl dem prostej pionowej (fliplr (obraz)) lub poziomej (flipud (obraz)). Odbicia te (a zwªaszcza odbicie poziome) maj zastosowanie podczas kalibracji (ang. registering) zdj cia (przypisania wspóªrz dnych, np. geogracznych, do poszczególnych pikseli obrazu). 2.4 Dodawanie wierszy, kolumn do obrazu Dodawanie kolumn i wierszy do obrazu ma na celu gªównie podczas ltracji w celu zmniejszenia efektów brzegowych. Sªu»y do tego polecenie padarray (obraz, rozmiar, metoda, kierunek); Rozmiar w formie wektora [x y] mówi, ile wersów x i ile kolumn y nale»y doda. Do metod zaliczamy: 'circular' - doklejanie cykliczne 'replicate' - doklejanie poprzez kopiowanie skrajnych wersów / kolumn 'symmetric' - odbicie symetryczne. Istniej 3 kierunki: 'pre': doklejanie z góry i z lewej; 'post': zdoªu i z prawej; 'both': z obu jednocze±nie. 2.5 Zmiana ksztaªtu i wymiarów obrazu Zmiana wymiarów obrazu odbywa si przy wykorzystaniu polecenia reshape (obraz, [nowy rozmiar], 'opcja');. Do poprawnego dziaªania funkcji musi by speªniony warunek zachowania powierzchni: (x old y old = x new y new ) Do zmiany ksztaªtu, bez konieczno±ci speªnienia powy»szego warunku mo»e sªu»y polecenie imresize(obraz, [nowy rozmiar], 'opcja'). Zmiana ksztaªtu mo»e odbywa si przy wykorzystaniu dwóch polece«: maketform (typ, parametry) do tworzenia maski przeksztaªcaj cej i imtransform (obraz, forma);" do zastosowania maski. W nowszych wersjach polecenie maketform zostaªo zast pione poleceniami: affine2d([ macierz 3x3 ]) i projective2d([ macierz 3x3 ]). W przypadku anicznym, ostatnia kolumna musi mie warto±ci [0; 0; 1], a dane w trzecim wierszu nie maj wpªywu na obraz. Polecenie imtransform zostaªo zast pione natomiast poleceniem imwarp(obraz, maska). Wyró»niamy nast puj ce typy transformacji: ('ane',[t A T B ; T C T D ; T E T F ]) - przeksztaªcenie aniczne: ka»de ró»nowarto±ciowe przeksztaªcenie geometryczne, które wszystkie proste zawarte w dziedzinie tego odwzorowania przeksztaªca na proste (rys.2). Przeksztaªcenie aniczne dane jest wzorem: [x new y new ] = [x y 1] T (5) ('projective',[t A T D T G ; T B T E T H ; T C T F T I ]): takie przeksztaªcenie, gdzie ka»- de punkty le» ce na jednej prostej przechodz w punkty le» ce na drugiej prostej (rys.3). Projekcja dane jest wzorem: [x new y new z new ] = [x y w] T (6) 4
Rysunek 2: Parametry przeksztaªcenia anicznego (¹ródªo:Wróbel & Koprowski, 2004). W przypadku obrazów 2D, powy»sze równania mo»na zapisa w nast puj cy sposób: x new = T A x + T B y + T C T G x + T H y + T I y new = T D x + T E y + T F T G x + T H y + T I (7) Rysunek 3: Parametry projekcji (¹ródªo:Wróbel & Koprowski, 2004) 'custom' 'box' 'composite' 5