2. Pont operációk Kató Zoltán Képfeldolgozás és Számítógépes Grafika tanszék SZTE (http://www.inf.u-szeged.hu/~kato/teaching/)
2 Kép transzformációk típusai Kép értékkészletének (radiometriai információ) átalakítása: J( i, j) f ( I,( i, j)) Kép értelmezési tartományának geometriai transzformációja (warping): J ( i, j) I( t ( i, j), t ( i, j)) i j Mind az értékkészlet mind pedig az értelmezési tartomány átalakítása: J ( i, j) f ( I,( t ( i, j), t ( i, j))) i j
3 Értékkészlet transzformációk Lokális: Az új pixelérték a kiindulási pixel adott méretű S környezetének pixelértékeitől függ pl. konvolúció adott méretű maszkkal Ha függ a pozíciótól is, akkor lokálisan adaptív Globális: Ha S=teljes kép Pont operáció: ha S egyetlen pixelből áll. j Lokális operáció (pl. szűrőzés): J(x,y) = f ({I(u,v) (u,v) є S(i,j)}) j i S(i.j) lokális környezet (i,j) körül Input: I=[I(i,j)] i Output: J =[J(i,j)]
4 Lokális értékkészlet transzformációk Simítás / élesítés Éldetektálás Minta illesztés
5 Pont operáció Legegyszerűbb értékkészlet transzformáció a pont operáció: Nem függ a pixel környezetétől Az új pixelérték kizárólag a régi függvénye J ( i, j) f ( I( i, j)) I :[ M N] LI J :[ M N] LJ f : L L I J j J(i,j) = f(i(i,j)) j i i Input: I=[I(i,j)] Output: J =[J(i,j)]
6 Tipikus pont operációk Aritmetikai műveletek Azonos méretű képekre pixelenként elvégzett standard aritmetika Fényesség és kontraszt állítás Gamma korrekció Szín korrekció (fehér egyensúly) Hisztogram normalizálás Hisztogram kiegyenlítés Újra kvantálás Intenzitások/színek számának csökkentése Szteganográfia Rejtett képek
7 Aritmetikai műveletek: összeadás + = (Egy filmkockára kétszer exponálunk.)
8 Háttérzaj levonás - Eredeti kép + szenzor háttérzaj Háttérzaj (letakart objektívvel készült kép) = Kivonás eredménye Copyright Timo Autiokari, 1998-2006
9 Kivonás, abszolút differencia - = változások detektálása - = Mozgás detektálás két frame különbségével: 0, ha nincs mozgás 0, ahol elmozdulás történt
10 Képmontázs Két kép részleteinek felhasználásával egy új kép előállítása Ehhez szükség van egy harmadik képre (M), amely minden pixelben megadja a két kép közötti súlyozás értékét (alpha) J( i, j) M( i, j) I1( i, j) (1 M( i, j)) I2( i, j) M(i,j)=0 1. kép M(i,j)= 1 2. kép Köztes értékek megadják a két kép pixelértékeinek súlyát
11 Fehér egyensúly (white balance) Az emberi látás alkalmazkodik a különböző megvilágításokhoz (kromatikus adaptáció) A színeket a megvilágitástól függetlenül állandónak érzékeljük Film esetén megfelelő színhőmérsékletre hangolt nyersanyag + szűrők Digitális szenzor: algoritmikus korrekció A megvilágítás színe a fehér régiókban olvasható le Csatornánként skálázás (8 bit) 255 R' R G' B' w 255 G w 255 B w R G B Fehér pont ([R w,g w,b w ])
12 Színes kép szürkeárnyalatossá alakítása Egy RGB színes képet szürkeárnyalatossá konvertálhatunk a színcsatornák lineáris kombinációjaként: 0.299 R + 0.587 G + 0.114 B A csatornák együtthatói az emberi látásnak megfelelő súllyal veszik az egyes színkomponenseket
Output érték (g) 0 127 255 13 Pont operációk megadása Függvénnyel: f(x)=g, xϵl I, gϵl J, átszínező- vagy keresőtáblával (LUT: look-up-table) Függvényből képzett diszkrét (x,g) pixelérték-párok f(x) 0 127 255 input érték (x) LUT: index érték... 101 102 103 104 105 106... input... 64 68 69 70 70 71... output
14 Példa transzformáló függvényekre új régi
15 Invertálás f 255 ( x) 255 x 255 f ( x) 255 x
Gamma korrekció Az emberi látás logaritmikus skálán érzékeli az intenzitásokat Az árnyalatokban részletgazdagabb, mint a csúcsfényekben Gamma korrekció az emberi érzékelésnek megfelelő intenzitástranszformációt jelent Általánosságban azonban nem más, mint egy nemlineáris transzformáció f f ( x) ( x) cx, 255 c, x 255 1/ 0,, x 1 0 x 16 255 Gamma korrekció nélkül Gamma korrekció után
17 Példa gamma korrekcióra eredeti légifotó γ=3 γ=4 γ=5 (c=1)
18 Hisztogram Olyan függvény, amely minden lehetséges szürkeárnyalathoz megadja a képen az adott árnyalatú pixelek számát. Ha normalizáljuk (minden értéket elosztunk a kép méretével), akkor az egyes pixelértékek előfordulási valószínűségét kapjuk.
19 Szín-hisztogram: pontfelhőként Statisztikailag keveset mond (sokkal több lehetséges szín, mint pixel van) 3 dimenziós térben pontfelhőként ábrázoljuk
20 Szín-hisztogram: komponensenként Komponensenként mint szürkeárnyalatos hisztogram Valódi színeloszlásra nehezen következtethetünk belőle RGB kép hisztogram színkomponensenként
21 Hisztogram és képi tartalom A képpontok összerázásával a hisztogram nem változik, tehát a hisztogramból nem következtethetünk a látványra.
r 22 Hisztogram és képi tartalom invertálás sötét világos kontrasztszegény r 255-r 255-r kontrasztos
23 Hisztogram transzformációk Olyan pont-operációk, amelyeknek függvényét az input kép hisztogramjából vagy az output kép hisztogramjára vonatkozó elvárások alapján határozzák meg. hisztogram/kontraszt széthúzás hisztogram kiegyenlítés hisztogram specifikáció
24 Hisztogram normalizálás A hisztogram normalizálás (vagy széthúzás) függvénye egy lineáris skála-transzformáció: a képen előforduló intenzitástartományt, a [min,max] intervallumot skálázza a [0,L-1] (a teljes) intervallumba. L-1 f(x) J ( i, j) f ( I( i, j)) I :[ M N] [min, max] 0 0 min max L-1 J :[ M N] [0, L 1] f :[min, max] [0, L 1], f ( x) ( L 1) x min max min
25 Hisztogram normalizálás
Kontraszt széthúzás Hasonló a hisztogram normalizáláshoz, de az intenzitások egy megadott [low,high] intervallumát skálázza a [0,L-1]-be L-1 A megadott intervallum szűkebb lehet, mint az előforduló intenzitások [min,max] sávja f(x) 0 0 low high L-1 min max 26 f ( x) 0 ( L 1) L 1 ( x low) high low,,, ha ha ha x low low x x high high
27 hisztogram széthúzás kontraszt széthúzás
28 Hisztogram kiegyenlítés A hisztogram-specifikáció legegyszerűbb esete Azt várjuk, hogy a kimeneti kép hisztogramja egyenletes eloszlásnak feleljen meg eredeti hisztogram x 1/L kiegyenlített hisztogram f(x)
Hisztogram kiegyenlítés 29 x f(x) egyenlő területek! x i i p 0 ) ( L x f 1 ) ( x i x i i p L x f L x f i p 0 0 ) ( ) ( 1 ) ( ) ( Kumulatív hisztogram
30 Kumulatív hisztogram Míg a normalizált hisztogram az intenzitások valószínűségi sűrűségfüggvényét adja meg, addig a kumulatív hisztogram az intenzitásértékek x eloszlásfüggvényét adja: PDF ( x) x : 0 i 0 p( i) PDF ( x ) 1
31 Hisztogram kiegyenlítés és kumulatív hisztogram A transzformációs függvényt (LUT) a kumulatív hisztogram adja
32 Hisztogram kiegyenlítés 1 1 3 4 2 2 3 függvények 4
33 Adaptív hisztogram kiegyenlítés A hisztogram kiegyenlítést (HK) pontonként, az adott pont egy lokális környezete alapján végezzük Alkalmazkodik a kép lokális karakterisztikájához Más pont operációknál is használhatunk hasonló adaptív technikát (ld. később: adaptív küszöbölés) kiindulási kép globális HK eredménye lokális (3x3-as) HK eredménye
P I ( g I ) P J ( g J ) 34 Hisztogram specifikáció A kiindulási I képből egy előre megadott J hisztogramú K képet eredményez Diszkrét értékek miatt csak megközelítőleg kapunk azonos hisztogramot Minden g I pixelértéket cseréljünk arra a g J értékre, amelynek kumulatív hisztogram értéke a legközelebb van Ha I(i,j)=g I, akkor legyen K(i,j)=g J, ahol g J kielégíti az alábbi feltételt: P I (g I ) > P J (g J -1) AND P I (g I ) P J (g J ). Példa: I(i,j) = 5 P I (5) = 0.65 P J (9) = 0.56 P J (10) = 0.67 K(i,j) = 10 g I g J
35 Hisztogram specifikáció eredeti várt kapott
36 Hisztogram specifikáció eredeti várt kapott
37 Képek újra kvantálása Képek újra kvantálása is egy pont operáció Hisztogram binning True color képek palettássá alakítása Az eredeti színtér/intenzitástartomány felosztása függ a kép tartalmától (adaptív kvantálás): A kép statisztikai elemzése (hisztogram) alapján választjuk ki a megfelelő számú új színt Az így előállt LUT alapján végezzük el a transzformációt eredeti színtér kvantált értékek a klaszterközéppontok
38 Uniform nem uniform kvantálás eredeti true-color uniform (8-szín) nem uniform (8-szín)
39 Kvantálási hiba csökkentése Ha túl kevés a kvantálási szint, akkor hamis kontúrok léphetnek fel A kvantálás előtt zaj hozzáadásával csökkenthetjük ezt a hatást =0, σ = M/q, ahol M a maximális intenzitásérték, q pedig a bitek száma a kvantálás során I + N(,σ) Quant(q) J
40 Dithering 8 bit 2 bit 2 bit + zaj
41 Szteganográfia 6bit csatornánként 8bit csatornánként 6 és 8 bites kvantálás között lenyegében nem érzékelhető lényeges különbség Pieter Bruegel (the Elder, ca. 1525-69), The Peasant Dance, 1568, Oil on oak panel, 114x164 cm, Kunsthistorisches Museum Wien, Vienna
42 Szteganográfia b b b b b b 0 0 b = 0 or 1 always 0 Ha 6 biten kvantáljuk a képet, akkor a maradék alsó 2 biten tetszőleges információt, akár egy egész képet elrejthetünk Image 1 Image 2 felső 6bit R-Shift 2 R-Shift 6 L-Shift 2 Image Out 2bit
43 Felhasznált anyagok Palágyi Kálmán: Digitális Képfeldolgozás /pub/digitalis_kepfeldolgozas Trevor Darrell: C280, Computer Vision http://www.cs.cmu.edu/afs/cs/academic/class/15385- s06/lectures/ppts/ Richard Alan Peters: EECE/CS 253 Image Processing http://www.archive.org/details/lectures_on_image_processing További források az egyes diákon megjelölve