V šestém díle se budeme zabývat opět zpracováním obrazu, jehož výstupem je opět obraz. Dvourozměrná data vstupního obrazu jsou transformována do dvourozměrných dat výstupního obrazu. Obraz upravujeme, abychom potlačili jeho nedostatky a vady, a naopak abychom v obraze zdůraznili ty informace, které budeme v dalších krocích strojového vidění využívat.
Konvoluční filtrace
Velké množství filtrů pro úpravu obrazu pracuje na principu konvoluce původní dvourozměrné obrazové funkce s konvolučním jádrem — tzv. kernelem.
Konvoluce je tedy interakcí funkce s jinou funkcí, které říkáme konvoluční jádro. Hodnotu konvoluce funkce s jádrem v určitém bodě vypočteme jako integrál ze součinu této funkce s opačně vzatou funkcí konvolučního jádra. V případě digitálních obrazů se jedná o diskrétní funkci původního obrazu a konvoluční funkce je rozněž diskrétní funkce — diskrétní kernel nějakého filtru.
Uveďme si nejjednodušší příklad tzv. mean filtru. Mějme konvoluční masku o rozměru 3x3 pixelů (tj. pro výpočet jednoho nového pixelu budeme pracovat s devíti pixelu původního obrazu pixelů) a všechny buňky této masky mají hodnotu 1/9. Nový pixel, který vypočteme konvolucí tohoto kernelu s odpovídajícími pixely původního obrazu, bude tedy průměrem z devíti okolních pixelů původního obrazu. Hodnoty uvnitř konvoluční masky udávají vliv hodnoty pixelu původního obrazu pod nimi na pixel výsledného obrazu. Takto lze definovat velké množství operací např. rozostření, zaostření, zvýraznění hran atd.
Takovéto úpravy obrazu jsou poměrně náročné na výkon počítače, neboť pro výpočet jednoho pixelu musí pracovat s kombinací mnoha pixelů obrazu původního. Tyto operace lze velmi výhodně paralelizovat a využitím GPU můžeme konvoluční filtraci velice výrazně urychlit.
Redukce šumu
Redukce šumu je v dnešní době jednou z nejčastěji prováděných úprav obrazu. Filtrace pro redukci úrovně šumu jsou obvyklou součástí zpracování obrazu ve veškerých fotoaparátech a dnes již i většiny kamer. Jedná se o operaci sice častou, přesto však poměrně problematickou. Některé filtry mohou obraz natolik poškodit, že mohou způsobit více škody než užitku.
Nejčastějším způsobem redukce šumu je využití Gaussova konvolučního jádra. Spolu s redukcí šumu je ale také snížena strmost kontrastních hran. Někdy se proto používají filtry, které oblasti okolo kontrastních hran nemění. Lepší výsledky poskytují rozličné varianty anisotropických filtrů, které vyhodnocují gradienty jasu jednotlivých barev ve všech osmi směrech kolem každého pixelu a nerozmazávají kontrastní hrany. Ukázka účinku takového filtru v prostředí VisionLab je na následujícím obrázku.
Velmi dobré výsledky při redukci šumu poskytuje i mediánový filtr, ten však může posunovat pozice kontrastních hran.
Speciální druhem redukce šumu je odstranění šumu typu pepř a sůl (tj. černé pixely nebo shluky pixelů na bílém pozadí anebo naopak bílé pixely na černém pozadí) z prahovaných obrazů. Tyto filtry pracují na principu diskrétní analýzy okolí každého pixelu.
Šum bývá obvykle redukován tehdy, když je obraz pozorován člověkem. Někdy ale může šum způsobovat potíže i algoritmům strojového vidění. Může např. komplikovat trasování kontrastních hran, rozpoznávání vzorů a písmen atd.
Další možnosti úprav obrazu
Dalších možností uprav obrazu je velké množství. Můžeme obraz např. libovolně otáčet, zvětšovat, zmenšovat, deformovat, můžeme provádět operace mezi dvěma nebo i několika různými obrazy, můžeme obraz segmentovat i naopak jej sestavit z různých oblastí, redukovat jeho barevnost nebo rozsah jasů atd. Obraz obvykle upravujeme právě proto, abychom v něm zdůraznili právě tu informaci, která je pro následující kroky strojového vidění podstatná, a naopak potlačili informaci nežádoucí a rušivou, např. potlačili modulaci jasu na pozadí.
Literatura: Programový systém strojového vidění v prostředí Control Web, Moravské přístroje a.s., www.mii.cz