Vyrovnání histogramu obrazu. Základní operace zpracování obrazu. Import, export a konverze

POROVNÁNÍ VYROVNÁVACÍCH ALGORITMŮ

HISTOGRAM POLOTÓNOVÝCH OBRAZŮ

1 "2 Aleksandrovskaya A.A., Mavrin E.M.

1 Aleksandrovskaya Anna Andreevna - student magisterského studia; Mavrin Evgeniy Mikhailovich - magisterský student, oddělení informační systémy a telekomunikace,

Fakulta informatiky a řídicích systémů Moskevské státní technické univerzity. N.E. Bauman, Moskva

Abstrakt: Tento článek porovnává algoritmy digitálního zpracování obrazu, konkrétně algoritmy ekvalizace histogramu. Zvažují se tři algoritmy: globální vyrovnání histogramu (GHE), adaptivní vyrovnání histogramu (AHE) a adaptivní vyrovnání histogramu s omezením kontrastu (CANE). Výsledkem práce popsané v článku je vizuální srovnání výkonu algoritmů na identických snímcích.

Klíčová slova: histogram obrazu, ekvalizace histogramu snímků, COI, počítačové vidění, ANE, SYANE.

Pro zlepšení kvality obrazu je nutné zvýšit rozsah jasu, kontrast, ostrost a čistotu. Společně lze tyto parametry zlepšit vyrovnáním histogramu snímku. Při určování obrysů objektů ve většině případů stačí data obsažená v obrázku ve stupních šedi. Polotónový obrázek je obrázek, který obsahuje informace pouze o jasu, nikoli však o barvě pixelů. V souladu s tím je vhodné sestavit histogram pro polotónový obraz.

Nechť uvažovaný obrázek sestává z n pixelů s intenzitou (jasem) r v rozsahu od 0 do 2 bpp, kde bpp je počet bitů přidělených ke kódování jasu jednoho pixelu. Ve většině barevných modelů pro kódování

Jas jedné barvy jednoho pixelu vyžaduje 1 bajt. Podle toho je intenzita pixelů definována na sadě od 0 do 255. Graf počtu pixelů v obraze s intenzitou r proti intenzitě samotné se nazývá obrazový histogram. Na Obr. Obrázek 1 ukazuje příklad testovacích obrázků a histogramů vytvořených na základě těchto obrázků:

Rýže. 1. Testovací snímky a jejich histogramy

Je zřejmé, že studiem odpovídajícího histogramu lze vyvodit závěry o původním obrázku. Například histogramy velmi tmavých snímků se vyznačují koncentrací nenulových hodnot histogramu blízko nulové úrovně jasu, zatímco u světlých snímků jsou naopak všechny nenulové hodnoty shromažďovány na pravé straně histogram.

Algoritmy ekvalizace histogramu jsou oblíbené algoritmy pro vylepšení zpracovaného polotónového obrazu. Obecně platí, že HE algoritmy (Histogram Equalization) mají relativně nízké výpočetní náklady a zároveň vykazují vysokou účinnost. Podstatou tohoto typu algoritmu je regulovat úrovně polotónového obrazu v souladu s funkcí rozdělení pravděpodobnosti daného obrazu (1) a v důsledku toho se zvyšuje dynamický rozsah rozdělení jasu. To vede ke zlepšení vizuálních efektů,

jako jsou: jas kontrast, ostrost, jasnost.

p(i) = -, i = 0,255, n

kde p(i) je pravděpodobnost výskytu pixelu s jasem i, normalizovaná funkce histogramu původního snímku, k jsou souřadnice pixelu zpracovávaného snímku, g(k) je ekvalizovaný snímek.

Algoritmy ekvalizace histogramu jsou rozděleny do dvou typů: lokální (adaptivní) ekvalizace histogramu a globální ekvalizace histogramu. Při globální metodě se sestrojí jeden diagram a histogram celého snímku se vyrovná (obr. 3 a). Při místním způsobu (obr. 3b) se konstrukce provádí velké množství histogramy, kde každý histogram odpovídá pouze části zpracovávaného snímku. Tato metoda zlepšuje lokální kontrast

obrázky, což umožňuje obecně získat lepší výsledky zpracování.

Algoritmy místního zpracování lze rozdělit do následujících typů: překrývající se místní jednotky zpracování, nepřekrývající se místní jednotky zpracování a částečně se překrývající místní jednotky zpracování (obr. 2).

Rýže. 2. Ilustrace práce různé typy lokální algoritmy zpracování obrazu: a) překrývající se místní bloky zpracování, b) nepřekrývající se bloky místního zpracování, c) částečně se překrývající bloky lokálního zpracování

Algoritmus překrývajícího se bloku poskytuje nejlepší výsledek zpracování, ale je nejpomalejší z uvedených. Algoritmus nepřekrývajících se bloků naopak vyžaduje kratší dobu zpracování, všechny ostatní věci jsou stejné, ale protože se zpracované bloky navzájem nepřekrývají, jsou možné ostré změny jasu ve finálním obrázku. Kompromisním řešením je částečně se překrývající blokový algoritmus. Nevýhody adaptivních algoritmů ekvalizace histogramu zahrnují nadměrné zesílení parametrů obrazu a možné výsledné zvýšení šumu ve výsledném snímku.

Vylepšenou verzí výše uvedeného algoritmu je algoritmus adaptivního vyrovnání histogramu s omezeným kontrastem (CLAHE) (obr. 4c). Hlavním rysem tohoto algoritmu je omezení

rozsah histogramu na základě analýzy hodnot jasu pixelů ve zpracovávaném bloku (2), takže výsledný obraz vypadá přirozeněji a méně zašuměný.

kde add je koeficient přírůstku hodnoty funkce histogramu, ps je počet pixelů, které překračují prahová hodnota. Ilustraci změny histogramu ukazuje obrázek 3.

Rýže. 3. Omezení rozsahu histogramu v algoritmu CLAHE

Stojí za zmínku, že klasický algoritmus SILIB používá bilineární interpolaci k odstranění hranic mezi zpracovávanými bloky.

Rýže. 4. Výsledky algoritmů ekvalizace histogramu: a) globální ekvalizace histogramu (HE), b) adaptivní ekvalizace histogramu (ANE), c) adaptivní ekvalizace histogramu s omezením kontrastu (CANE)

Při vizuálním porovnání výsledků zpracování nejlepší metoda je CLAHE (obr. 3c). Obraz zpracovaný touto metodou má méně šumu než obraz zpracovaný AHE a jasový kontrast je přirozenější. Metoda CLAHE oproti snímku zpracovanému metodou globální ekvalizace zlepšuje jasnost jemných a neostrých detailů zpracovávaného snímku a také zvyšuje kontrast, ale ne tak přehnaně jako v případě metody AHE. Níže je také uvedena tabulka s odhadem doby provádění příslušných metod v programovacím prostředí MATLAB 2016.

Tabulka 1. Odhadovaná doba provedení uvažovaného

dodací lhůta

Název programu c Doba provedení

metoda uvažovanou metodou, c metoda, c

CLAHE 0,609 0,519

Bibliografie

1. Chichvarin N.V. Detekce a rozpoznávání signálu // Národní knihovna jim. N.E. Bauman [ Elektronický zdroj] 2016, Režim přístupu: https://ru.bmstu.wiki/Correction_of_brightness_and_contrast_ obrázků (datum přístupu: 05.03.2019).

2. Gonzalez R.K. , Woods R.E. . Digital Image Processing, 3. vydání, New Jersey: Pearson Education, 2008. 950 stran.

3. Gupta S., Kaur Y. Review of Different Local and Global Contrast Enhancement Techniques for a Digital Image // International Journal of Computer Applications [Elektronický zdroj] 2014, URL: https://pdfs.semanticscholar.org/7fb1/bf8775a1a1eaad9b3d1f4 5bc85adc5c3212 přístup: 3D.f. 2019).

4. Ma J., Fan X. , Mladý S. X. , Zang X. , Ztsu Ks. . Contrast Limited Adaptive Histogram Equalization Based Fusion for Underwater Image Enhancement // Preprints [Elektronický zdroj] 2017, URL: https: //www. předtisky. org/manuscript/201703.0086/v 1 (Datum přístupu: 3. 5. 2019).

Existují tři hlavní způsoby, jak zvýšit kontrast obrazu:

  • lineární roztažení histogramu (lineární kontrast),
  • normalizace histogramu,
  • zarovnání (linearizace nebo ekvalizace) histogramu.

Lineární protažení se týká přiřazení nových hodnot intenzity každému pixelu v obrázku. Pokud se intenzity původního snímku pohybovaly v rozsahu od do , pak je nutné zadaný rozsah lineárně „roztáhnout“ tak, aby se hodnoty změnily z 0 na 255. K tomu stačí přepočítat staré hodnoty intenzity pro všechny pixely podle vzorce, kde se koeficienty jednoduše vypočítají na základě toho, že hranice by měla jít na 0 a na 255.

Normalizace histogramu Na rozdíl od předchozí metody neprotahuje celý rozsah změn intenzity, ale pouze jeho nejinformativnější část. Informativní část je chápána jako soubor píků histogramu, tzn. intenzity, které se na obrázku objevují častěji než ostatní. Bins odpovídající zřídka se vyskytujícím intenzitám se během procesu normalizace vyřadí a poté se provede obvyklé lineární roztažení výsledného histogramu.

Zarovnání histogramy jsou jednou z nejběžnějších metod. Účelem ekvalizace je zajistit, aby všechny úrovně jasu měly stejnou frekvenci a aby histogram sledoval rovnoměrné rozložení. Řekněme, že dostaneme obrázek ve stupních šedi, který má rozlišení pixelů. Počet úrovní kvantizace jasu pixelů (počet přihrádek) je . Pak by v průměru pro každou úroveň jasu mělo existovat pixelů. Základní matematika spočívá v porovnání obou rozdělení. Nechť jsou náhodné proměnné popisující změnu intenzity pixelů v obrázcích, buď hustota rozložení intenzity v původním obrázku a požadovaná hustota rozložení. Je nutné najít transformaci distribučních hustot, která by nám umožnila získat požadovanou hustotu:

Označme a integrální zákony rozdělení náhodných veličin a . Z podmínky pravděpodobnostní ekvivalence vyplývá, že . Zapišme si zákon o integrálním rozdělení podle definice:

Odtud to máme

Zbývá vymyslet, jak odhadnout zákon integrálního rozdělení. Chcete-li to provést, musíte nejprve vytvořit histogram původního obrázku a poté výsledný histogram normalizovat vydělením hodnoty každé přihrádky celkovým počtem pixelů. Hodnoty bin lze považovat za aproximaci funkce hustoty distribuce. Hodnotu kumulativní distribuční funkce lze tedy reprezentovat jako součet následujícího tvaru:

Zkonstruovaný odhad lze použít k výpočtu nových hodnot intenzity. Všimněte si, že uvedené transformace histogramu lze aplikovat nejen na celý snímek, ale i na jeho jednotlivé části.

Knihovna OpenCV implementuje funkci equalizeHist, která poskytuje vylepšení kontrastu obrazu pomocí ekvalizace histogramu [,]. Funkční prototyp je uveden níže.

void equalizeHist(const Mat& src, Mat& dst)

Funkce funguje ve čtyřech fázích:

Níže uvádíme příklad programu, který poskytuje vyrovnání histogramu. Aplikace převezme název zdrojového obrázku jako argument příkazového řádku. Po provedení operace vyrovnání histogramu se zobrazí původní snímek 1 Použitý obrázek je součástí databáze PASACL VOC 2007., převedeny na stupně šedi (obr. 7.11, vlevo) a snímek s histogramem ekvalizován (obr. 7.11, vpravo).

#zahrnout #zahrnout pomocí jmenného prostoru cv; const char helper = "Sample_equalizeHist.exe \n\ \t - název souboru obrázku\n"; int main(int argc, char* argv) ( const char *initialWinName = "Počáteční obrázek", *equalizedWinName = "Equalized Image"; Mat img, grayImg, equalizedImg; if (argc< 2) { printf("%s", helper); return 1; } // загрузка изображения img = imread(argv, 1); // преобразование в оттенки серого cvtColor(img, grayImg, CV_RGB2GRAY); // выравнивание гистограммы equalizeHist(grayImg, equalizedImg); // отображение исходного изображения и гистограмм namedWindow(initialWinName, CV_WINDOW_AUTOSIZE); namedWindow(equalizedWinName, CV_WINDOW_AUTOSIZE); imshow(initialWinName, grayImg); imshow(equalizedWinName, equalizedImg); waitKey(); // закрытие окон destroyAllWindows(); // осовобождение памяти img.release(); grayImg.release(); equalizedImg.release(); return 0; }


Rýže. 7.11.

Předzpracování obrazu- proces zlepšování kvality obrazu s cílem získat na základě originálu co nejpřesnější a nejpřizpůsobenější automatická analýza Snímky.

Mezi digitální obrazové vady můžeme vyzdvihnout následující typy:

  • Digitální šum
  • Barevné vady (nedostatečný nebo nadměrný jas a kontrast, nesprávný barevný tón)
  • Rozostření (rozostření)

Metody předběžného zpracování obrazu závisí na cílech výzkumu a mohou zahrnovat následující typy práce:

Filtrování hlučných obrázků

Digitální obrazový šum- vada obrazu způsobená fotosenzory a elektronikou zařízení, která je používají. K jeho potlačení se používají následující metody:

Lineární průměrování bodů další dveře - nejjednodušší typ algoritmu pro odstranění šumu. Jejich hlavní myšlenkou je vzít aritmetický průměr bodů v určitém okolí jako novou hodnotu bodu.

Fyzicky je takové filtrování implementováno procházením obrazových bodů pomocí konvoluční matice, která má následující tvar:

Příklad:

div je normalizační koeficient, takže průměrná intenzita zůstane nezměněna. Je rovna součtu maticových koeficientů, v příkladu div = 6.

Gaussovské rozostření(typ lineární konvoluce) je implementován procházením obrazových bodů pomocí konvoluční matice, která vypadá takto:

Matice 5x5 je vyplněna podle normálního (Gaussova) zákona. Níže je stejná matice, kde jsou koeficienty již normalizovány, takže div pro tuto matici je roven jedné.

Síla rozostření závisí na velikosti matrice.

Levý horní pixel nemá žádné „sousedy“ vlevo a nahoře, takže nemáme čím násobit maticové koeficienty!

Řešení tohoto problému vyžaduje vytvoření přechodného obrazu. Cílem je vytvořit dočasný obrázek s rozměry

šířka + 2 mezera / 2, výška + 2 mezera / 2, kde

šířka a výška – šířka a výška filtrovaného obrázku,

mezera – rozměr konvoluční matice.

Vstupní obraz je zkopírován do středu obrazu a okraje jsou vyplněny nejvzdálenějšími pixely obrazu. Rozostření se aplikuje na mezilehlou vyrovnávací paměť a poté se z ní extrahuje výsledek.

Mediánový filtr je okenní filtr, který postupně skenuje obraz a v každém kroku vrací jeden z prvků, které spadly do okna filtru.

Pixely, které „spadnou“ do okna, jsou seřazeny ve vzestupném pořadí a je vybrána hodnota, která je uprostřed seřazeného seznamu.

Mediánový filtr se obvykle používá ke snížení šumu nebo „vyhlazení“ obrazu.

Pro zlepšení přehlednosti obrázek je použit následující filtr (div=1):

Morfologické transformace

Morfologické filtrování se používá k rozšíření (dilaktát) nebo zúžení (eroze) prvků binárního obrazu.

Dilatace(morfologická expanze) – konvoluce obrázku nebo vybrané oblasti obrázku s nějakou šablonou. Šablona může mít jakýkoli tvar a velikost. Přitom jediné, co v něm vyniká, je vedoucí postavení(kotva), která je při výpočtu konvoluce kombinována s aktuálním pixelem.

Binární obrázek je uspořádaná množina (uspořádaná množina) černých a bílých bodů (pixelů). Maximální intenzita obrazových pixelů je jedna a minimum je nula.

Aplikace dilatace spočívá v protažení šablony přes celý obrázek a použití vyhledávacího operátoru pro lokální maximální intenzitu obrazových bodů, které jsou šablonou pokryty. Pokud je maximum 1, pak bod, kde se nachází kotva šablony, bude bílý. Tato operace způsobí nárůst světlých ploch na obrázku Na obrázku jsou šedě označeny pixely, které budou v důsledku použití dilatace bílé.

Eroze(morfologické zúžení) je obrácená operace dilatace. Efekt eroze je podobný jako u dilatace, rozdíl je pouze v tom, že je použit operátor lokálního minima. Pokud je minimum 0, pak bod, kde se nachází kotva šablony, bude černý. Na obrázku vpravo jsou šedé pixely pixely, které v důsledku eroze zčernají.

Úkon " Dilatace" - analogie logického "nebo", operace " Eroze“ je analogií logického „a“.

Výsledek morfologických operací je do značné míry dán použitou šablonou (konstrukčním prvkem). Výběrem jiného konstrukčního prvku můžete vyřešit různé problémy zpracování obrazu:

  • Potlačení ruchu.
  • Výběr hranic objektu.
  • Výběr kostry objektu.

Korekce jasu a kontrastu obrázků

Jas je charakteristika, která určuje, jak moc se barvy pixelů liší od černé. Pokud byla například digitalizovaná fotografie pořízena za slunečného počasí, její jas bude významný. Na druhou stranu, pokud byla fotografie pořízena večer nebo v noci, pak bude její jas nízký.

Kontrast je charakteristika toho, jak velké rozdíly jsou v barvách pixelů v obrázku. Čím větší je rozptyl hodnot barev pixelů, tím větší kontrast má obrázek.

Se všemi transformacemi prvek po prvku se mění zákon rozdělení pravděpodobnosti, který popisuje obraz. Při lineárním kontrastu je zachován tvar hustoty pravděpodobnosti, ale v obecném případě, tzn. s libovolnými hodnotami parametrů lineární transformace se mění parametry hustoty pravděpodobnosti transformovaného obrazu.

Určení pravděpodobnostních charakteristik snímků, které prošly nelineárním zpracováním, je přímým úkolem analýzy. Při řešení praktických problémů zpracování obrazu lze nastolit inverzní problém: pomocí známého typu hustoty pravděpodobnosti p f(F) a požadovaný vzhled p g(G) určit požadovanou transformaci G= ϕ( F), kterému by měl být vystaven původní obrázek. V praxi digitálního zpracování obrazu často přináší užitečné výsledky transformace obrazu na ekvipravděpodobnou distribuci. V tomto případě

Kde G min a G max – minimální a maximální hodnoty jasu převedeného obrázku. Pojďme určit vlastnosti převodníku, který řeší tento problém. Nechat F A G propojeno funkcí G(n, m) = j( F(n, m)), A Pf(F) A Str(G) – integrální zákony rozdělení vstupních a výstupních jasů. Vezmeme-li v úvahu (6.1), zjistíme:

Dosazení tohoto výrazu do podmínky pravděpodobnostní ekvivalence

po jednoduchých transformacích získáme vztah

představující charakteristiku G(n, m) = j( F(n, m)) v řešeném problému. Podle (6.2) prochází původní obraz nelineární transformací, jejíž charakteristikou je Pf(F) je určeno integrálním distribučním zákonem původního obrázku. Poté je výsledek převeden do specifikovaného dynamického rozsahu pomocí operace lineárního kontrastu.

Transformace hustoty pravděpodobnosti tedy předpokládá znalost kumulativního rozdělení pro původní obrázek. Zpravidla o tom neexistují žádné spolehlivé informace. Aproximace analytickými funkcemi může v důsledku chyb aproximace vést k významným rozdílům ve výsledcích od požadovaných. Proto se v praxi zpracování obrazu transformace distribucí provádí ve dvou fázích.



V první fázi se změří histogram původního snímku. U digitálního obrázku, jehož stupně šedi například patří do rozsahu celých čísel, je histogram tabulkou 256 čísel. Každý z nich ukazuje počet bodů v obrázku (rámci) s daným jasem. Vydělením všech čísel v této tabulce celkovou velikostí vzorku rovnou počtu vzorků na obrázku získáme odhad pravděpodobnostního rozložení jasu obrázku. Označme tento odhad q p f(f q), 0 ≤ f q≤ 255. Potom odhad kumulativního rozdělení získáme podle vzorce:

Ve druhé fázi je provedena samotná nelineární transformace (6.2), která poskytuje potřebné vlastnosti výstupního obrazu. V tomto případě se místo neznámého skutečného kumulativního rozdělení použije jeho odhad na základě histogramu. Vezmeme-li toto v úvahu, všechny metody transformace obrazu prvek po prvku, jejichž účelem je upravit distribuční zákony, se nazývají histogramové metody. Konkrétně se nazývá transformace, ve které má výstupní obraz rovnoměrné rozložení vyrovnání (vyrovnání) histogramu.

Všimněte si, že postupy převodu histogramu lze aplikovat jak na snímek jako celek, tak na jeho jednotlivé fragmenty. Ten může být užitečný při zpracování nestacionárních snímků, jejichž charakteristiky se v různých oblastech výrazně liší. V tomto případě lze dosáhnout lepšího efektu aplikací zpracování histogramu na jednotlivé oblasti – oblasti zájmu. Je pravda, že hodnoty naměřených hodnot a všech ostatních oblastí se změní. Obrázek 6.1 ukazuje příklad vyrovnání provedeného v souladu s popsanou metodikou.

Charakteristickým znakem mnoha snímků získaných v reálných zobrazovacích systémech je významný podíl tmavých oblastí a relativně malý počet oblastí s vysokým jasem.

Obrázek 6.1 – Příklad ekvalizace histogramu snímku: a) původní snímek a jeho histogram c); b) transformovaný obrázek a jeho histogram d)

Vyrovnání histogramu vede k vyrovnání integrálních oblastí rovnoměrně rozložených rozsahů jasu. Porovnání původních (obrázek 6.1 a) a zpracovaných (obrázek 6.1 b) snímků ukazuje, že redistribuce jasu, ke které dochází během zpracování, vede ke zlepšení zrakového vnímání.