220 likes | 342 Views
K épek, képfeldolgozás. Szirmay-Kalos László. Képek a képszintézisben. Transzformáció vágás. Geometriai model. raszterizáció. (x,y,szín). scanner. Kép (textúra) (akár float). Pixel műveletek. Digitális fényképezőgép. Rasztertár (8 bit). fájl. Képek, képformátumok. Fej:
E N D
Képek, képfeldolgozás Szirmay-Kalos László
Képek a képszintézisben Transzformáció vágás Geometriai model raszterizáció (x,y,szín) scanner Kép (textúra) (akár float) Pixel műveletek Digitális fényképezőgép Rasztertár (8 bit) fájl
Képek, képformátumok • Fej: • típus, méret (szélesség, magasság) • bit-per-pixel, indexelt-valós szín, lookup tábla • Törzs: • szélesség x magasság db pixel (R,G,B) vagy idx • Tömörítés (run length, LZW, Huffmann, FFT, wavelet) • Standard formátumok: • TARGA, GIF, JPEG, TIFF, BMP, PCX • GIF, MPG, AVI, ...
TARGA Fej: Törzs: 0 b1 0 g1 2 r1 9 db 0 b2 g2 r2 Szélesség alsó bájt … Szélesség felső bájt Magasság alsó bájt Magasság felső bájt Bit-per-pixel: 24 32 Törzs
Grafika - képfeldolgozás Textúrák Grafika Kép Geometriai leírás Alakfelismerés I(x,y) diszkrét
Képfeldolgozás Kép Diszkrét f(u,v) 2D tömb Kép Diszkrét g(u,v) 2D tömb Képfeldolgozás • Kép ábrázolhatósága • Kép javítás • Alakfelismerés előkészítése • Információ rejtés, stb.
Kvantálás 8 bit: 256 szín 4 bit: 16 szín 3 bit: 8 szín
Dither + = eredeti jel zaj hozzákeverés kvantálás aluláteresztô szűrés n+d bit n bit rasztertár S d bit x0 szem dither RAM x1 monitor y0 d bit y1
Fekete-fehér dither Kis periódusú mátrix dither 0 8 2 10 12 4 14 6 3 11 1 9 15 7 13 5 Véletlen zaj 1 16 Nagyperiódusú egyenletes sorozat halftone
Színes dither Véletlen zaj Mátrix dither
Tone mapping HRDI(R,G,B)LDRI(r,g,b) konverzió • Luminancia: I = 0.21R + 0.72G + 0.07B • Adaptációs lum: I’ • Relatív lum: Ir= • Megjelenített lum: • Megjelenített szín: I I’ • Ir +Glow • 1+ Ir • D = • D • I • (r,g,b) = (R,G,B,)
Hisztogram Alacsony kontraszt Alacsony fényerő
Hisztogram kiegyenlítés p f p(x)dx = g( f ) f p g g dg df = p(f) f
Szűrés g(x) = w(t) · f(x-t) dt g(i,j) = w(di,dj) f(i-di, j-dj)
Aluláteresztő szűrőtípusok W(f) Ideális aluláteresztő w(x) = sinc(x) doboz kúp B-spline Gauss
Postprocessing HDRI Postprocessing 8 bit R,G,B kép Mélység értékek Frame buffer Tone mapping Glow Depth of field Textúrák
Render a full screen quad: glBegin(GL_QUADS); glTexCoord2f(1,1); glVertex4f(-1,-1,0,1); glTexCoord2f(1,0); glVertex4f(-1, 1,0,1); glTexCoord2f(0,0); glVertex4f( 1, 1,0,1); glTexCoord2f(0,1); glVertex4f( 1,-1,0,1); glEnd( ); Vertex shader: void main ( in float4 Pos : POSITION, in float2 Tex : TEXCOORD0, out float4 hPos : POSITION, out float2 oTex : TEXCOORD0 ) { hPos = Pos; oTex = Tex; } Fragment shader: float4main ( in float2 Tex : TEXCOORD0) : COLOR { color = Filtered colors in the neighborhood of Tex; } Postprocessing HDRI 8 bit R,G,B kép Mélység értékek Frame buffer textúrák
Mélységélesség(Depth of field) k z P d Éles kép r r circle of confusion D tárgy lencse Fokális sík képsík