Segmentácia obrazu

Segmentácia je metóda rozdeľovania obrazu na jednotlivé časti (segmenty), v závislosti na objektoch nachádzajúcich sa v obraze. Počet takýchto objektov je väčšinou príliš veľký a tak nutne musí dochádza k prekrývaniu jednotlivých objektov. Takýto typ obrazu sa nedá celkom dobre segmentovať. Vtedy sa snažíme získať aspoň čiastočnú segmentáciu. Postup akým to budeme robiť závisí hlavne od typu obrazu a objektov v ňom.

    Podľa typu použitej techniky rozdeľujeme segmentáciu na :
  • globálnu - pri ktorej využívame globálne vlastnosti obrazu
  • lokálnu - pri ktorej využívame lokálne vlastnosti obrazu

Segmentácia prahovaním

    Najprv si vytvoríme histogram obrazu f(x,y). Histogram obrazu je funkcia, ktorá priradí každej úrovni jasu alebo farby zodpovedajúcu početnosť príslušneho jasu alebo farby v obraze. Histogram nám dáva globálnu informáciu obraze. Potom si zvolíme prahovaciu hodnotu T, ktorou oddelíme dve maximá histogramu. Potom bod obrazu pre ktorý platí f(x,y)>T je bod objektu a zvyšné sú body pozadia. Pretože histogram je väčšinou dosť zložitá funkcia, nájsť prahovaciu hodnotu nie je jednoduché. Ak sa v obraze nachádza viac objektov, tak pre každý treba nájsť prahovaciu hodnotu. Hľadanie je založené na testovaní významu lokálnych maxím a miním. Pri hľadaní viacerých prahových hodnôt, musíme zadať intervaly jasu I1,...,In. Výsledkom bude potom obraz s n jasovými úrovňami.

Globálne prahovanie

    Pri globálnom prahovaní hľadáme hranicu medzi objektmi a pozadím, pričom rozdelíme histogram na dva oddelené intervaly určené prahom T, kde interval B1 určuje body pozadia a B2 body objektu.

$$$APPLET

Applet Histogram globálneho prahovania

<

Lokálne prahovanie

Jednou z možností segmentácie je rozdeliť obraz na časti a tie prahovať zvlášť. Takúto metódu nazývame lokálne prahovanie

Hranica a obrys obrazu

    Hranicou oblasti môžeme chápať ako množinu takých bodov, pre ktoré sa v ich ľubovoľnom okolí nachádzajú body z oblasti aj jej doplnku. V diskrétnom obraze ich budeme nazývať hranica alebo obrys. Podobne ako pri rasterizácii mnohouholníkov sme definovali 4-súvislú a 8-súvislú oblasť tak tu analogicky vytvoríme 4-obrys a 8-obrys. Bod P je 4-obrysový (8-obrysový) bod oblasti ak aspoň jeden jeho 4-sused (8-sused) nepatrí danej oblasti.

Jednoduchý algoritmus hranice

    Pre každý bod oblasti testujme či je hraničný. na to nám stačí overiť, či jeden jeho 4-sused je z doplnku oblasti. Pod pojmom oblasť rozumieme dvojrozmerné pole alebo maticu A[x,y], kde x a y sú rozmery obrazu. b[s,t] je bod tejto matice pre s  =  1,...,x a t = 1,...,y s hodnotou 1 ak je vnútorný a 0 ak vonkajší.

$$$APPLET

Applet Jednoduchý algoritmus hranice 4 a 8 obrys, interakcia 
umožňuje myšou pridávať a odoberať body oblasti

Jednoduchý algoritmus obrysu

    Podobne ako pri mnohouholníkoch postupujeme aj tu. Predpokladajme, že oblasť máme zadanú v matici (poli) o rozmeroch mxn. Najprv nájdeme prvý hraničný bod tak, že postupne od  horného riadku prehľadávame riadky matice z ľava doprava až pokiaľ nenájdeme prvý bod s nenulovou hodnotou. Tento bod bude zároveň prvým dobom obrysu.

Skanovací algoritmus obrysu

    Doteraz sme predpokladali, že oblasť sme mali uloženú v dvojrozmernom poli. Pri použitý predchádzajúcich metód na hľadanie obrysu a hranice ju musíme načítať celú po pamäte. V prípade, že chceme minimalizovať veľkosť použitej pamäte alebo v prípade nedostatku voľnej pamäte, ktorej nikdy nie je dosť (viď výrok Billa Gatesa, že 640 KB musí stačiť na všetko), môžeme použiť skanovací algoritmus, kde nám bude stačiť udržiavať si v pamäti len maximálne dva-tri riadky.

Jasová korekcia

    Jasovou korekciou sa snažíme o dodatočnú úpravu obrazu. Pri spracovaný obrazu optickými zariadeniami dochádza k nerovnomernému rozptylu svetla, čo má za následok znejasnenie obrazu. Touto metódou sa snažíme nájsť pre každý obrazový bod f(x,y) korelačný koeficient k(x,y). Výsledný opravený bod potom bude  g(x,y) = f(x,y)* k(x,y). Našou snahou je minimalizovať rozdiel medzi originálom a nami urobeným obrazom. Degradačnú funkciu k(x,y) určíme nasledovne. Zoberieme obraz zo známym konštantným jasom c. Označme ho c(x,y). Potom bude korigovať rozdiel podľa vzťahov :

    c = k(x,y) * c(x,y)                 v(x,y) = k(x,y) * f(x,y) = c * f(x,y) / c(x,y)

    Môže sa nám ale stať, že výsledný jas bude mimo povolený interval. Vtedy buď orežeme krajné hodnoty alebo posunutím jasovej stupnice dostaneme nami vypočítané hodnoty do prípustného intervalu.

Filtrácia obrazu

    Cieľom filtrácie je odstrániť šum, ktorý vznikol pri spracovaný a prenose obrazu, ostré prechody alebo zvýrazniť niektoré črty obrazu. 

    V prípade zašumeného obrazu, môžeme poškodené pixle nahradiť spriemerovaním susedných bodov. Tu využívame malé zmeny susedných bodov a tým aj podobnú hodnotu jasu.

    Pri spracovávaní frekvencií obrazovej funkcie môžeme rozlišovať dve metódy : vyhladenie a ostrenie obrazu. Pri vyhladzovaný obrazu potláčame vysoké frekvencie a tým aj náhodný šum. Vtedy však dochádza k rozmazávaniu hrán a ostrých prechodov. Naopak ostreným obrazu dochádza k zvýrazneniu vyšších frekvencií a tým aj k zvýrazneniu hrán, ale aj k zvýrazneniu šumu.

    Pri modifikácií obrazu sa používajú dva hlavné prístupy : priestorové a frekvenčné. Priestorové pracujú priamo s obrazom alebo jeho časťou f(x.,y), ktorú transformujú na výstupný obraz g(x,y) podľa vzorca

g(x,y) = T[g(x,y)] .

Frekvenčné prístupy používajú konvolúciu obrazu. 

Konvolúcia dvoch funkcií f(x) a g(x) (označ. f(x)*f(y))je definovaná pomocou integrálu:

,

kde je a integrálna premenná.

Výsledný obraz g(x,y) je tvorený konvolúciou obrazu f(x,y) a k(x,y) a platí :

    G(u,v) = K(u,v) * F(u,v)

kde G, K a F sú Fourierove transformácie funkcií g, k a f. Výsledný obraz potom vypočítame nasledovne :

                -1
    g(x,y)      = F(K(x,y) * F(x,y)).

Vyhladenie obrazu

Vyhladenie obrazu slúži na odstraňovanie šumu. Metódy na odstranovanie sú: priemerovanie, filtrácia metódou mediánu a nízko frekvenčným filtrovaním

Priemerovanie

Pri filtrácii obrazu filtrujeme lokálnym priemerovaním okolia bodu (x, y):
,

kde M je počet bodov okolia O.

Ostrenie obrazu

Hranou v obraze chápeme oko množinu bodov obrazu, v ktorých susedstve sa veľmi mení jas [1]. Ostrením obrazu sa snažíme zvýrazniť tieto hrany. 

Kostra množiny (skelet)

nbsp;   Pod týmto pojmom môžme rozumieť útvary čiar, ktoré vystihujú danú množinu a zachovávajú jej geometrickú podstatu. Algoritmov na získanie skeletu je veľké množstvo, pričom ich výstupy sa rôznia, pretože neexistuje presná definícia sketelu množiny v rastrovej grafike. Všeobecný postup spočíva v stenčovaní zadanej množiny.


alt="Your browser understandsthe  APPLET tag but isn't running the applet, for some reason." Your browser is completely ignoring the  APPLET tag! 

Applet: Jednoduchý algoritmus skeletu


alt="Your browser understandsthe  APPLET tag but isn't running the applet, for some reason." Your browser is completely ignoring the  APPLET tag! 

Applet: Jednoduchý algoritmus skeletu

Copyright (c) 1999-2017 Juraj Štugel. www.netgraphics.sk