... 3.. 5.. 7.. 9 Histogram a jeho zpracování 3. přednáška předmětu Zpracování obrazů Martina Mudrová Definice Co je to histogram? = vektor absolutních četností výskytu každé barvy v obrázku [H(),H(), H(c)] c m.n c c počet barev H ( i) = m. n m,n velikost obrázku i= intenzitní obrázky: vektor H barevné obrázky: 3 vektory H,H,H 3 (typicky pro R,G,B složky obrazu, každá ze složek je zpracována zvlášť - podle stejného schématu a se stejnými parametry) M. Mudrová, Základní vlastnosti histogramu je to statistická veličina popisující pravděpodobnost výskytu každé barvy v obraze neříká nic o umístění barev v obraze Dva rozdílné obrázky: Se stejným histogramem (bimodálním v tomto případě): M. Mudrová, 3
7 5 3 5 5 5.5.5 5 5 5 Další způsoby vyjádření histogramu. normalizace x-ové osy (barevného rozsahu) na interval <,>. zobrazení kumulativního histogramu M. Mudrová, Použití histogramu I histogram poskytuje základní informaci o úrovni jasu v obrázku metody zpracování histogramu mohou vést ke zlepšení kvality obrázku! z pohledu subjektivního vjemu! Obrázek je příliš světlý (přeexponovaný) -čáry histogramu jsou převážně v pravé části M. Mudrová,.5 x Použití histogramu II Obrázek je příliš tmavý (podexponovaný) -čáry histogramu jsou převážně v levé části umožňuje vhodnou volbu prahu(ů) T při redukci barev -zvláště v případě bimodálního histogramu -použití při detekci objektů granulometrie apod. M. Mudrová, L pro x< T y= H pro x T 5 5 5 5 Nízká úroveň kontrastu v obrázku čáry histogramu jsou pouze ve střední části x vstupní hodnota intenzity y nová hodnota intenzity T hodnota prahu (threshold level) 5
5 3...3..5..7..9 x k u m u la c e c a r 5 5 5 3 5 3...3..5..7..9 histogram 5 5 5 3 Použití histogramu III kalibrace optických digitálních přístrojů (fotoaparáty, kamery, skenery,...). snímání obrázku se známým histogramem (etalonu). porovnání histogramu získaného obrázku a daného histogramu slouží k nastavení parametrů přístroje Příklad etalonu 7 M. Mudrová, Ekvalizace histogramu Co to znamená? Upravit histogram tak, aby byl tak plochý jak je to jen možné 5 3 Real picture histogram Ideal histogram...3..5..7..9 Algoritmy ekvalizace jsou založeny na statistických metodách: n. m D = MAX D optimální hodnota čar v histogramu n,m... velikost obrázku MAX... hodnota maximální intenzity v obrázku M. Mudrová, Příklad ekvalizace histogramu Originální obrázek Obrázek po ekvalizaci po ekvalizaci. x 9 M. Mudrová,
Úpravy histogramu Co se stane, když změním pozici čar v histogramu z hodnot x na y? M. Mudrová, x vstupní histogram l h y = x γ b t y výstupní histogram A. Lineární úpravy: g =. Posun histogramu. Zúžení/rozšíření histogramu B. Nelineární úpravy: g <> output value y.... Gamma correction.... input value x g=.5 g= Posun histogramu vpravo Zvyšování jasové úrovně obrázku posouvá histogram doprava (k bílé). 5 5 5 5 5 5 35 35 35 3 3 3 5 5 5 5 5 5 5 5 5...3..5..7..9...3..5..7..9...3..5..7..9 M. Mudrová, Posun histogramu vlevo Snižování jasové úrovně obrázku posouvá histogram doleva (k černé). 5 5 5 5 5 5 35 35 35 3 3 3 5 5 5 5 5 5 5 5 5...3..5..7..9...3..5..7..9...3..5..7..9 M. Mudrová,
7 5 3 7 5 3 histogram u...3..5..7..9...3..5..7..9 9 7 5 3 5 3 histogram po uprave...3..5..7..9...3..5..7..9 7 5 3...3..5..7..9 5 5 35 3 5 5 5...3..5..7..9 Další možnosti úpravy jasu? Nešlo by jednoduše přičíst nějakou konstantu k hodnotě každého pixelu? +.3! Tento způsob může vést ke ztrátě detailní informace v oblasti jasných barev bez možnosti jejího zpětného obnovení 3 M. Mudrová, Ztráta tmavých odstínů...nebo odečíst konstantu od hodnoty každého pixelu? 7 5 3...3..5..7..9 9 7 5 3...3..5..7..9 9 7 5 3...3..5..7..9! Tento způsob může vést ke ztrátě detailní informace v oblasti tmavých barev bez možnosti jejího zpětného obnovení M. Mudrová, Kontrast: Dilatace a zúžení histogramu Dilatace histogramu způsobuje zvýšení kontrastu Zúžení histogramu vede ke snížení kontrastu! Pozor na ztrátu detailní informace ve velmi jasných a tmavých úrovních barev v průběhu operací s histogramem dilatace následovaná odpovídajícím zúžením nemusí vést k původnímu obrazu M. Mudrová, 5
Gama korekce γ y = x x vstupní histogram l h y = x γ <γ < obrázek bude světlejší γ > obrázek bude tmavší γ = lineární úprava output value y.... Gamma correction.... input value x g=.5 g= b t y výstupní histogram! Některá digitální zařízení definují hodnotu gama převráceně: y = x γ M. Mudrová, Použití gama korekce Parametry úpravy histogramu původní obrázek posun čar histogramu z <.5,> do <,.75>, γ = posun čar histogramu z <.5,> do <,.75>, γ =5 posun čar histogramu z <.5,> do <,.75>, γ =. M. Mudrová, Obrázek 5 Histogram. 5 5 5. 5 7 Pokročilé metody úpravy histogramu - Operace s vyhledávací tabulkou - LUT (Look-up table) - nová barva je přiřazena, nebo více původním barvám - nevratná operace - použití pro zajímavé efekty (vytváření tzv. vodových kreseb z realistických fotografií) a pro zvýraznění struktur v obraze - Daný histogram s daným tvarem může být obrázku vnucen - M. Mudrová,
M. Mudrová, Příkazy Matlabu pro operace s histogramem imhist histeq imadjust (brighten) (contrast) stretchlim 9 Příklad Ekvalizace histogramu % Histogram a jeho upravy () % Ekvalizace histogramu clear delete(get(,'children')); [x,map]=imread('busek.bmp'); i=indgray(x,map); subplot(3), imshow(i) title('') subplot(33),imhist(i) title('histogram u'), j=histeq(i,3); subplot(3), subimage(j ) axis off,title('po ekvalizaci.') subplot(3),imhist(j) title('histogram '), subplot(35),plot(cumsum(imhist(i))) title('kumulace car'), subplot(3),plot(cumsum(imhist(j))) 5 histogram u x kumulace car 3 5 po ekvalizaci. histogram x 3 M. Mudrová, Příklad Lineární úprava histogramu % Upravy histogramu() clear delete(get(,'children')) figure() [x,map]=imread('../busek.bmp'); i=indgray(x,map); j=imadjust(i,[ ],[.],); subplot(),imshow(i) title('') subplot(),imhist(i,) title('histogram u') subplot(3),imshow(j) title(' po uprave') subplot(),imhist(j) title('histogram po uprave') po uprave histogram u histogram po uprave M. Mudrová,