Barevný histogram - Color histogram
Tento článek je tón nebo styl nemusí odrážet encyklopedický tón použitý na Wikipedii.Říjen 2016) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
v zpracování obrazu a fotografování, a barevný histogram je reprezentace distribuce barev v obraz. U digitálních obrázků představuje barevný histogram počet pixelů které mají barvy v každém pevném seznamu barevných rozsahů, které pokrývají obraz barevný prostor, sada všech možných barev.
Barevný histogram lze vytvořit pro jakýkoli druh barevného prostoru, i když se tento termín častěji používá pro trojrozměrné prostory, jako je RGB nebo HSV. Pro monochromatické obrázky, termín histogram intenzity místo toho lze použít. U multispektrálních obrazů, kde je každý pixel reprezentován libovolným počtem měření (například nad rámec tří měření v RGB), je barevný histogram N-dimenzionální, přičemž N je počet provedených měření. Každé měření má svůj vlastní rozsah vlnových délek světelného spektra, z nichž některé mohou být mimo viditelné spektrum.
Pokud je sada možných hodnot barev dostatečně malá, může být každá z těchto barev umístěna na rozsah sama; pak je histogram pouze počet pixelů, které mají každou možnou barvu. Nejčastěji je prostor rozdělen do příslušného počtu rozsahů, často uspořádaných jako pravidelná mřížka, z nichž každá obsahuje mnoho podobných barevných hodnot. Barevný histogram může být také zobrazen a zobrazen jako hladký funkce definováno přes barevný prostor, který se přibližuje počtu pixelů.
Jako jiné druhy histogramy, barevný histogram je a statistický které lze považovat za aproximaci podkladového kontinua rozdělení hodnot barev.
Přehled
Barevné histogramy jsou flexibilní konstrukce, které lze sestavit z různých obrázků barevné prostory, zda RGB, rg chromatičnost nebo jakýkoli jiný barevný prostor jakékoli dimenze. Histogram obrazu je vytvořen nejprve diskretizací barev v obrazu do několika přihrádek a počítáním počtu obrazových pixelů v každé přihrádce. Například histogram červeno-modré chromatičnosti lze vytvořit nejprve normalizací hodnot barevných pixelů dělením hodnot RGB pomocí R + G + B, poté kvantováním normalizovaných souřadnic R a B do N přihrádek. Dvourozměrný histogram červeno-modré chromatičnosti rozdělený do čtyř košů (N= 4) může přinést histogram, který vypadá jako tato tabulka:
Červené | |||||
0-63 | 64-127 | 128-191 | 192-255 | ||
modrý | 0-63 | 43 | 78 | 18 | 0 |
64-127 | 45 | 67 | 33 | 2 | |
128-191 | 127 | 58 | 25 | 8 | |
192-255 | 140 | 47 | 47 | 13 |
Histogram může být N-dimenzionální. Ačkoli je obtížnější jej zobrazit, trojrozměrný barevný histogram pro výše uvedený příklad lze považovat za čtyři samostatné histogramy červeno-modré, kde každý ze čtyř histogramů obsahuje hodnoty červeno-modré pro zásobník zelené (0-63, 64 -127, 128-191 a 192-255).
Histogram poskytuje kompaktní shrnutí distribuce dat v obraze. Barevný histogram obrazu je relativně neměnný s translací a rotací kolem osy pohledu a mění se jen pomalu s úhlem pohledu.[1] Porovnáním podpisů histogramů dvou obrazů a porovnáním barevného obsahu jednoho obrazu s druhým je barevný histogram obzvláště vhodný pro problém rozpoznávání objektu neznámé polohy a rotace ve scéně. Důležité je, že překlad RGB obrazu do invariantního prostoru rg-chromatičnosti osvětlení umožňuje histogramu dobře fungovat při různých úrovních světla.
1. Co je to histogram?
Histogram je grafické znázornění počtu pixelů v obrázku. Jednodušším způsobem, jak vysvětlit, je histogram sloupcový graf, jehož osa X představuje tonální stupnici (černá vlevo a bílá vpravo) a osa Y představuje počet pixelů v obraze v určitém oblast tonální stupnice. Například graf histogramu jasu zobrazuje počet pixelů pro každou úroveň jasu (od černé po bílou), a pokud je více pixelů, je vrchol při určité úrovni jasu vyšší.
2. Co je barevný histogram?
Barevný histogram obrázku představuje rozložení složení barev v obrázku. Zobrazuje různé typy barev a počet pixelů v jednotlivých typech barev. Vztah mezi barevným histogramem a histogramem jasu spočívá v tom, že barevný histogram lze také vyjádřit jako „tři jasové histogramy“, z nichž každý ukazuje rozložení jasu každého jednotlivého kanálu červené / zelené / modré barvy.
Charakteristika barevného histogramu
Barevný histogram se zaměřuje pouze na podíl počtu různých typů barev bez ohledu na jejich prostorové umístění. Hodnoty barevného histogramu pocházejí ze statistik. Ukazují statistické rozložení barev a základní tón obrazu.
Obecně platí, že protože se barevné distribuce popředí a pozadí v obraze liší, může v histogramu existovat bimodální distribuce.
Pouze pro histogram jasu neexistuje dokonalý histogram a obecně může histogram říci, zda je nadměrná expozice, nebo ne, ale existují chvíle, kdy byste si při pohledu na histogram mohli myslet, že je obraz přeexponovaný; ve skutečnosti tomu tak ale není.
Principy tvorby barevného histogramu
Tvorba barevného histogramu je poměrně jednoduchá. Z výše uvedené definice můžeme jednoduše spočítat počet pixelů pro každých 256 stupnic v každém ze 3 RGB kanálů a vykreslit je na 3 jednotlivé sloupcové grafy.
Obecně platí, že barevný histogram je založen na určitém barevném prostoru, například RGB nebo HSV. Když spočítáme pixely různých barev v obraze, je-li barevný prostor velký, můžeme nejprve rozdělit barevný prostor na určitý počet malých intervalů. Každý z intervalů se nazývá bin. Tento proces se nazývá kvantizace barev. Poté spočítáním počtu pixelů v každé z přihrádek získáme barevný histogram obrázku.
Konkrétní kroky principů lze vidět v příkladu 2.
Příklady
Příklad 1
Vzhledem k následujícímu obrázku kočky (původní verze a verze, která byla snížena na 256 barev pro účely snadného histogramu) představují následující data barevný histogram v barevném prostoru RGB pomocí čtyř přihrádek.
Bin 0 odpovídá intenzitám 0-63
Zásobník 1 je 64–127
Bin 2 je 128-191 a Bin 3 je 192-255.
Červené | Zelená | Modrý | Počet pixelů |
---|---|---|---|
Koš 0 | Koš 0 | Koš 0 | 7414 |
Koš 0 | Koš 0 | Koš 1 | 230 |
Koš 0 | Koš 0 | Koš 2 | 0 |
Koš 0 | Koš 0 | Koš 3 | 0 |
Koš 0 | Koš 1 | Koš 0 | 8 |
Koš 0 | Koš 1 | Koš 1 | 372 |
Koš 0 | Koš 1 | Koš 2 | 88 |
Koš 0 | Koš 1 | Koš 3 | 0 |
Koš 0 | Koš 2 | Koš 0 | 0 |
Koš 0 | Koš 2 | Koš 1 | 0 |
Koš 0 | Koš 2 | Koš 2 | 10 |
Koš 0 | Koš 2 | Koš 3 | 1 |
Koš 0 | Koš 3 | Koš 0 | 0 |
Koš 0 | Koš 3 | Koš 1 | 0 |
Koš 0 | Koš 3 | Koš 2 | 0 |
Koš 0 | Koš 3 | Koš 3 | 0 |
Koš 1 | Koš 0 | Koš 0 | 891 |
Koš 1 | Koš 0 | Koš 1 | 13 |
Koš 1 | Koš 0 | Koš 2 | 0 |
Koš 1 | Koš 0 | Koš 3 | 0 |
Koš 1 | Koš 1 | Koš 0 | 592 |
Koš 1 | Koš 1 | Koš 1 | 3462 |
Koš 1 | Koš 1 | Koš 2 | 355 |
Koš 1 | Koš 1 | Koš 3 | 0 |
Koš 1 | Koš 2 | Koš 0 | 0 |
Koš 1 | Koš 2 | Koš 1 | 101 |
Koš 1 | Koš 2 | Koš 2 | 882 |
Koš 1 | Koš 2 | Koš 3 | 16 |
Koš 1 | Koš 3 | Koš 0 | 0 |
Koš 1 | Koš 3 | Koš 1 | 0 |
Koš 1 | Koš 3 | Koš 2 | 0 |
Koš 1 | Koš 3 | Koš 3 | 0 |
Koš 2 | Koš 0 | Koš 0 | 1146 |
Koš 2 | Koš 0 | Koš 1 | 0 |
Koš 2 | Koš 0 | Koš 2 | 0 |
Koš 2 | Koš 0 | Koš 3 | 0 |
Koš 2 | Koš 1 | Koš 0 | 2552 |
Koš 2 | Koš 1 | Koš 1 | 9040 |
Koš 2 | Koš 1 | Koš 2 | 47 |
Koš 2 | Koš 1 | Koš 3 | 0 |
Koš 2 | Koš 2 | Koš 0 | 0 |
Koš 2 | Koš 2 | Koš 1 | 8808 |
Koš 2 | Koš 2 | Koš 2 | 53110 |
Koš 2 | Koš 2 | Koš 3 | 11053 |
Koš 2 | Koš 3 | Koš 0 | 0 |
Koš 2 | Koš 3 | Koš 1 | 0 |
Koš 2 | Koš 3 | Koš 2 | 170 |
Koš 2 | Koš 3 | Koš 3 | 17533 |
Koš 3 | Koš 0 | Koš 0 | 11 |
Koš 3 | Koš 0 | Koš 1 | 0 |
Koš 3 | Koš 0 | Koš 2 | 0 |
Koš 3 | Koš 0 | Koš 3 | 0 |
Koš 3 | Koš 1 | Koš 0 | 856 |
Koš 3 | Koš 1 | Koš 1 | 1376 |
Koš 3 | Koš 1 | Koš 2 | 0 |
Koš 3 | Koš 1 | Koš 3 | 0 |
Koš 3 | Koš 2 | Koš 0 | 0 |
Koš 3 | Koš 2 | Koš 1 | 3650 |
Koš 3 | Koš 2 | Koš 2 | 6260 |
Koš 3 | Koš 2 | Koš 3 | 109 |
Koš 3 | Koš 3 | Koš 0 | 0 |
Koš 3 | Koš 3 | Koš 1 | 0 |
Koš 3 | Koš 3 | Koš 2 | 3415 |
Koš 3 | Koš 3 | Koš 3 | 53929 |
Příklad 2
Aplikace ve fotoaparátu:
V dnešní době mají některé fotoaparáty schopnost při fotografování zobrazovat 3 barevné histogramy.
Můžeme zkoumat klipy (hroty na černé nebo bílé straně měřítka) v každém ze 3 barevných histogramů RGB. Pokud najdeme jeden nebo více výstřižků na kanálu 3 RGB kanálů, pak by to vedlo ke ztrátě detailů pro tuto barvu.
Pro ilustraci zvažte tento příklad:
1. Víme, že každý ze tří kanálů R, G, B má rozsah hodnot od 0 do 255 (8 bitů). Zvažte tedy fotografii, která má rozsah jasu 0-255.
2. Předpokládejme, že fotografie, kterou pořídíme, je vytvořena ze 4 bloků, které jsou vedle sebe, a nastavíme stupnici jasu pro každý ze 4 bloků původní fotografie na 10, 100, 205, 245. Obraz tedy vypadá jako první obrázek vpravo.
3. Poté fotografii trochu vystavíme, řekněme, stupnice jasu každého bloku se zvýší o 10. Stupnice jasu pro každý ze 4 bloků nové fotografie je tedy 20, 110, 215, 255. Potom obrázek vypadá jako druhá postava vpravo.
Mezi obrázky 8 a 9 není velký rozdíl, vše, co vidíme, je, že celý obraz je jasnější (kontrast pro každý z bloků zůstává stejný).
4. Nyní znovu vystavíme původní fotografii, tentokrát se stupnice jasu každého bloku zvýší o 50. Stupnice jasu pro každý ze 4 bloků nové fotografie je tedy 60, 150, 255, 255. Nová obrázek nyní vypadá jako třetí obrázek vpravo.
Mějte na paměti, že měřítko pro poslední blok je 255 místo 295, pro 255 je horní měřítko, a tedy poslední blok má oříznutí! Když k tomu dojde, ztratíme kontrast posledních 2 bloků, a proto nemůžeme obraz obnovit bez ohledu na to, jak jej upravíme.
Závěrem lze říci, že při fotografování fotoaparátem, který zobrazuje histogramy, vždy udržujte nejjasnější tón na obrázku pod největší stupnicí 255 na histogramu, aby nedošlo ke ztrátě podrobností.
Nevýhody a jiné přístupy
Hlavní nevýhodou histogramů pro klasifikaci je, že reprezentace je závislá na barvě studovaného objektu, ignoruje jeho tvar a texturu. Barevné histogramy mohou být potenciálně identické pro dva obrázky s různým obsahem objektu, ke kterému dochází při sdílení barevných informací. Naopak, bez prostorových nebo tvarových informací mohou být podobné objekty různé barvy nerozeznatelné pouze na základě srovnání histogramů barev. Neexistuje způsob, jak odlišit červený a bílý šálek od červeného a bílého talíře. Jinými slovy, algoritmy založené na histogramu nemají koncept obecného „kelímku“ a model červeného a bílého kelímku je nepoužitelný, pokud dostane jinak identický modrý a bílý kelímek. Dalším problémem je, že barevné histogramy mají vysokou citlivost na hlučné interference, jako jsou změny intenzity osvětlení a chyby kvantizace. Dalším problémem jsou také vysoce dimenzionální (zásobníky) barevné histogramy. Některé barevné prostory histogramu často zabírají více než sto rozměrů.[2]
Některá z navrhovaných řešení byla barevná křižovatka histogramu, indexování konstanty barev, kumulativní barevný histogram, kvadratická vzdálenost a barva korelogramy. Ačkoli existují nevýhody používání histogramů pro indexování a klasifikaci, použití barvy v systému v reálném čase má několik výhod. Jedním z nich je, že barevné informace se počítají rychleji ve srovnání s jinými invarianty. V některých případech se ukázalo, že barva může být efektivní metodou pro identifikaci objektů známého umístění a vzhledu.
Další výzkum vztahu mezi daty barevného histogramu a fyzickými vlastnostmi objektů v obraze ukázal, že mohou představovat nejen barvu a osvětlení objektu, ale vztahují se k drsnosti povrchu a geometrii obrazu a poskytují vylepšený odhad osvětlení a barvy objektu.[3]
Pro výpočet hodnocení podobnosti obrazu se obvykle používá euklidovská vzdálenost, průsečík histogramu nebo kosinusové nebo kvadratické vzdálenosti.[4] Žádná z těchto hodnot sama o sobě neodráží míru podobnosti dvou obrázků; je to užitečné pouze při použití ve srovnání s jinými podobnými hodnotami. To je důvod, proč všechny praktické implementace načítání obrázků podle obsahu musí dokončit výpočet všech obrázků z databáze a je hlavní nevýhodou těchto implementací.
Dalším přístupem k reprezentativnímu obsahu barevného obrazu je dvourozměrný barevný histogram. Dvourozměrný barevný histogram bere v úvahu vztah mezi barvami párů pixelů (nejen světelnou složku).[5] Dvourozměrný barevný histogram je dvourozměrné pole. Velikost každé dimenze je počet barev, které byly použity ve fázi kvantizace barev. Tato pole jsou považována za matice, z nichž každý prvek ukládá normalizovaný počet párů pixelů, přičemž každá barva odpovídá indexu prvku v každém sousedství pixelů. Pro srovnání dvourozměrných barevných histogramů se navrhuje výpočet jejich korelace, protože je konstruován tak, jak je popsáno výše, je náhodný vektor (jinými slovy vícerozměrná náhodná hodnota). Při vytváření sady konečných obrázků by měly být obrázky uspořádány v sestupném pořadí korelačního koeficientu.
Korelační koeficient lze také použít pro srovnání barevného histogramu. Výsledky načítání s korelačním koeficientem jsou lepší než u jiných metrik.[6]
Histogram intenzity spojitých dat
Myšlenku histogramu intenzity lze zobecnit na spojitá data, například zvukové signály představované skutečnými funkcemi nebo obrazy představované funkcemi s dvourozměrnými doména.
Nechat (vidět Lebesgueův prostor ), poté operátor kumulativního histogramu lze definovat:
- .
je Lebesgueovo opatření sad. zase je skutečná funkce (Nekumulativní) histogram je definován jako jeho derivát.
- .
Reference
- ^ Shapiro, Linda G. a Stockman, George C. „Počítačové vidění“ Prentice Hall, 2003 ISBN 0-13-030796-3
- ^ Xiang-Yang Wang, Jun-Feng Wu a Hong-Ying Yang „Robustní získávání obrázků na základě barevného histogramu regionů regionálních rysů“ Springer Nizozemsko, 2009 ISSN 1573-7721
- ^ Anatomie barevného histogramu; Novak, C.L .; Shafer, S.A .; Computer Vision and Pattern Recognition, 1992. Proceedings CVPR '92., 1992 IEEE Computer Society Conference on 15–18 June 1992 Stránka (y): 599 - 605 doi:10.1109 / CVPR.1992.223129
- ^ Integrované systémy prostorového a celovečerního obrazu: získávání, analýza a komprese; Smith, J. R.; Graduate School of Arts and Sciences, Columbia University, 1997
- ^ Odhad efektivity načítání obrazu pomocí 2D barevného histogramu; Bashkov, E.A.; Kostyukova, N.S .; Journal of Automation and Information Sciences, 2006 (6) Page (s): 84-89
- ^ Načítání obrazu podle obsahu pomocí korelace barevného histogramu; Bashkov, E.A.; Shozda, N.S .; Sborník Graphicon, 2002 Stránky: [1] Archivováno 07.07.2012 na Wayback Machine
externí odkazy
- 3D inspektor barev / histogram barev, Kai Uwe Barthel. (Volný, uvolnit Applet Java.)
- Stanfordský studentský projekt zaměřený na vyhledávání obrázků - podrobnější pohled na rovnice / aplikaci
- Kód MATLAB / Octave pro vykreslování barevných histogramů a barevných mraků - Zdrojový kód lze přenést do jiných jazyků