2. Predspracovanie  

2.1 Histogram

2.1.1 Definícia histogramu 

        Histogram jasu daného obrazu f(x,y) je funkcia H(p), ktorá pre každú úroveň jasu udáva počet pixlov v obraze, ktoré majú túto úroveň. Môžeme ho chápať aj ako kvantovanú hustotu pravdepodobnosti.

 


Histogram 

2.1.2 Ekvalizácia histogramu

    Na zvýšenie kontrastu v obraze sa veľmi často používa  ekvalizácia histogramu. Ekvalizáciou sa snažíme dosiahnuť ideálny histogram, ktorý obsahuje rovnaký počet z každej zastúpenej jasovej hodnoty. Majme histogram pôvodného obrazu H(p) s jasovou stupnicou p=<p0,pk>. Transformáciou jasovej stupnice dostávame ekvalizovaný histogram G(q) s jasovou stupnicou q=<q0,qk>. Požadujeme, aby zobrazenie t : p ® q bolo monotónne

                                                                                             (1) 

Sumy v rovnici (1) sú diskrétne distribučné funkcie. Ekvalizovaný histogram G(q) zodpovedá rovnomernému rozdeleniu f, ktorá má konštantnú hustotu pravdepodobnosti. 

                                                                                                           (2) 

Po dosadení (2) za ľavú stranu (1) v spojitom prípade dostaneme 

                                                          (3) 

Teda transformácia t má tvar:

                                                                        (4) 

Diskrétna aproximácia transformácie t je 

                                                                             (5) 


  Ekvalizácia histogramu.

2.1.3 Normalizácia histogramu

    Ďalšou možnosťou na dosiahnutie lepšej kvality obrazu je normalizácia histogramu. Použitím transformácie 

                                                                           (6) 

roztiahneme histogram na novú jasovú stupnicu <q0,qk>. 


Normalizácia histogramu.

 

2.2 Bodové jasové transformácie  

   Bodové jasové transformácie sú štandardné aritmetické operácie, ktoré sa aplikujú na jeden alebo viac vstupných obrazov. Jasová hodnota bodu výstupného obrazu je vypočítaná na základe jedného bodu vstupného obrazu. Preto má vstupný a výstupný obraz rovnakú veľkosť.

 

2.2.1 Operácie + a –

     Operácie + a – patria medzi základné operácie spracovania obrazu. Ich využitím môžeme sčítať, alebo odčítať dva obrazové body, alebo zmeniť jasovú hodnotu bodu o konštantu.

                                                                (7)

                                                                       (8)

f1, f2 sú vstupné obrazy, g je výstupný obraz, C je konštanta.

 


Jasová korekcia

 

2.2.2 Operácie * a /  

   Násobenie a delenie podobne ako + a – patria medzi základné operácie spracovania obrazu.

                                                  (9)

                                                  (10)

                                                           (11)

                                                            (12)

f1, f2 sú vstupné obrazy, g je výstupný obraz, C je konštanta.
Rovnice (11) a (12) sú používané napríklad pri zmene kontrastu.  


Zmena kontrastu.

 

2.2.3 Logaritmický operátor  

   Logaritmický operátor sa používa napríklad na opravenie podexponovaného obrazu. Používame ho v tvare:

                                                (13)

kde f je vstupný, g je výstupný obraz, C je konštanta daná nasledovne:

                                                                     (14)

kde R je maximálna jasová hodnota vstupného obrazu.  


Logaritmický operátor.

 

2.2.4 Exponenciálny a mocninový operátor  

   Exponenciálny a mocninový operátor sa používa napríklad na úpravu preexponovaného obrazu. Exponenciálny operátor sa používa v tvare:

                                                          (15)

kde C, b sú konštanty.


Exponenciálny operátor s parametrami C = 20, b = 1,01.  

Mocninový operátor má tvar:

                                                          (16)

kde C, r sú konštanty.

 

2.3 Konvolúcia 

        Konvolúcia je metóda, ktorá systematicky prechádza celý obraz a na výpočet novej hodnoty bodu využíva malé okolie O reprezentatívneho bodu. Táto hodnota je zapísaná do nového obrazu. Diskrétna konvolúcia má tvar:

                                                                 (17)

kde f je obrazová funkcia pôvodného obrazu, g je obrazová funkcia nového obrazu, h sa nazýva konvolučná maska alebo konvolučné jadro,  h udáva koeficienty jednotlivých bodov v okolí O. Najčastejšie sa používajú  obdĺžníkové masky s nepárnym počtom riadkov a stĺpcov, pretože v tom prípade môže reprezentatívny bod ležať v strede masky.

Transformácie v lokálnom okolí bodu sa delia na dve skupiny:

Podľa matematických vlastností môžeme metódy predspracovania rozdeliť na

 

2.4 Vyhladzovacie filtre 

        Pri filtrácií šumu predpokladáme, že susedné body v nezašumenom obraze majú rovnakú, alebo pomerne blízku hodnotu jasu. Zašumené obrazové prvky potom môžeme opraviť na základe okolitých bodov.

 

2.4.1 Šumový model.

Najčastejšie sa vyskytujúce šumové modely sú:

                                                                                  (18)

kde z je náhodná hodnota, s je smerodajná odchýlka.

   

                                                               (19)  

kde p0 a p255 je pravdepodobnosť výskytu minimálnej a maximálnej hodnoty. 


 Šumové modeli
Parametre pre Gaussov šum: 
s - smerodajná odchylka
Parametre pre impulzný šum: p0 , p256 - pravdepodobnosťné hodnoti.

 

2.4.2 Priemerovacie filtre

    Najjednoduchšou metódou vyhladzovania obrazu je priemerovanie.  Novú jasovú hodnotu získame ako aritmetický priemer jasových hodnôt z okolia O.  Najčastejšie používané masky veľkosti 3x3:

        

Konvolučné masky veľkosti 5x5, 7x7 sa vyrábajú analogicky.

Nevýhodou tejto metódy je, že v značnej miere rozostruje hrany. Tento problém sa rieši použitím rotujúcej masky. Okolo reprezentatívneho bodu rotuje malá maska. Pre každú masku sa vypočíta jasový rozptyl. Nová hodnota sa vyráta podľa masky s najmenším rozptylom. Takto sa nepoškodia hrany.

   

a) 4 polohová rotujúca maska


b) 8 polohová rotjúca maska 

    Ďalšou metódou na riešenie problému rozostrenia hrán je priemerovanie s prahovaním. Myšlienkou tejto metódy je, že rozdiel medzi novou a starou hodnotou jasu nesmie presahovať prahovú hodnotu T. Počíta sa to podľa nasledujúceho vzťahu:

                           (20) 

   
 Priemerovací filter
Parametre pre Gaussov šum:  s - smerodajná odchylka
Parametre pre impulzný šum: p0 , p256 - pravdepodobnosťné hodnoti.

 

2.4.3 Mediánové filtre

        Nelineárna metóda vyhladzovania. Cieľom je eliminovať veľké jasové rozdiely v okolí bodu. Jasové hodnoty bodov vpadajúce do filtračnej masky sa usporiadajú podľa veľkosti. Nová jasová hodnota bude medián tejto postupnosti. Mediánový filter je vhodný na potláčanie impulzného šumu.

   
Najčastejšie filtračné masky.

 

Nevýhodou metódy je, že môžu sa poškodiť tenké čiary a ostré rohy. 


 Medianové filtre.    
Parametre pre Gaussov šum: 
s - smerodajná odchylka
Parametre pre impulzný šum: p0 , p256 - pravdepodobnosťné hodnoti.

     

2.5 Hranové filtre 

        Hranou sa nazývajú miesta v obraze, kde sa prudko mení jasová hodnota obrazovej funkcie f(x,y). Z matematickej analýzy vieme, že na sledovanie priebehu funkcie dvoch premenných slúži gradientový operátor Ń. Gradient je vektorová veličina určujúca smer rastu funkcie a veľkosť rastu. Body s veľkou hodnotou gradientu sa považujú za hrany.

V spojitom prípade, gradient funkcie dvoch premenných je:

                                                                                                     (21)

Veľkosť gradientu:

                                                                                      (22)

Smer hrany sa obvykle definuje ako kolmý na smer gradientu. Smer gradientu je:

                                                                                                       (23)

V prípade, že hľadáme silné hrany, bez ohľadu na smer, môžeme použiť Laplacian Ń2. Tento operátor vychádza z druhých parciálnych derivácií. Pre monotónne rastúcu obrazovú funkciu f je Laplacian Ń2 nulový, ak gradient dosahuje lokálne maximum.

                                                                              (24)

V diskrétnom prípade parciálne derivácie aproximujeme diferenciami.

                                                                (25)

Veľkosť gradientu v diskrétnom prípade môžeme aproximovať absolútnou hodnotou.

                                                                           (26)

Na hľadanie hrán sa v praxi používajú jednoduché konvolučné masky, ktoré dobre aproximujú derivácie obrazovej funkcie.

 

2.5.1 Robertsov operátor

                                                 

Veľkosť gradientu sa počíta podľa vzťahu

                                (27)

Operátor je citlivý na šum, lebo používa malé okolie na aproximáciu.

 

2.5.2 Laplaceov operátor

   Laplaceov operátor aproximuje druhú deriváciu, preto je invariantný vzhľadom na otočenie, a udáva len veľkosť hrany. Nevýhodou  je veľká citlivosť na šum a dvojité odozvy na hrany odpovedajúce tenkým líniám. Konvolučné masky:

    4 – susednosť:             

    8 – susednosť:            

 

Nasledujúce operátory aproximujú prvú deriváciu. Gradient počítame pre osem smerov. Uvažujeme o maske s najväčšou odozvou, ktorá určí aj smer hrany.  Budú uvedené len tri masky z ôsmich. Zvyšné  masky sa získajú otočením.

 

2.5.3 Prewittov operátor

            

2.5.4 Sobelov operátor

            

2.5.5 Robinsonov operátor

            

2.5.6 Kirschov operátor

              

2.5.7 LoG operátor (Laplacian of Gaussian)

    Základom prístupu je hľadanie miesta v obraze, kde druhá derivácia obrazovej funkcie prechádza nulou. Na tomto mieste prvá derivácia dosahuje lokálne maximum.
Problémom je, že druhá derivácia je citlivá na šum. Preto sa najprv potlačí šum a až potom sa derivuje. Na potlačenie šumu sa používa lineárny filter, ktorého koeficienty v konvolučnej maske zodpovedajú dvojrozmernému gaussovskému rozdeleniu

                                                                                                   (28)

kde s je stredná kvadratická odchýlka, ktorá určuje okolie. Body bližšie k stredu majú väčšiu váhu ako vzdialenejšie. Na odhad druhej derivácie z filtrovanej obrazovej funkcie G(x,y,s)*f(x,y), kde * je konvolúcia, môžeme použiť Laplacian Ń2. Dostaneme LoG operátor, Ń2[G(x,y,s)*f(x,y)]  v ktorom vďaka linearite operácií môžeme zameniť poradie konvolúcie a derivácie.

                                                         (29)

Hodnota Ń2G(x,y,s) nezávisí od obrazu, preto ju môžeme vypočítať dopredu. Použitím substitúcie x2+y2=r2 dostávame

                                                                                                          (30)

kde r je Euklidovská vzdialenosť od stredu. Gaussian je stredovo symetrický, preto je substitúcia prípustná.

Prvá derivácia je

                                                                                               (31)

Druhá derivácia, Laplacian Gaussianu je

                                                                                      (32)

Po spätnom dosadení dostaneme vzťah na výpočet konvolučnej masky:

                                                                                   (33)

kde c je normalizovaný koeficient.

Aproximácia operátoru LoG v maske 5x5:

        


 Hranové detektory.

 

2.5.8 Cannyho detektor

    Canny určil tri kritéria, ktoré by mal optimálny hranový detektor spĺňať:

  1. Detekčné kritérium, detektor nesmie zabudnúť na významnú hranu a na jednu hranu môže byť maximálne jedna odozva.
  2. Lokalizačné kritérium, rozdiel medzi skutočnou a nájdenou hranou má byť minimálny.
  3. Kritérium jednej odozvy.

Cannyho detektor využíva konvolúciu s dvojrozmerným Gaussianom a deriváciu v smere gradientu. Poskytuje informácie o smere a veľkosti hrany. Nech G je dvojrozmerný Gaussian, (8). Nech Gn je prvá derivácia G v smere gradientu

                                                                                                             (34)

kde n je smer gradientu, ktorý dostaneme nasledovne:

                                                                                                                (35)

Hranu dostaneme v bode, kde funkcia Gn*f dosiahne lokálne maximum, a druhá derivácia sa rovná nule.

                                                                                                                  (36)

Pre silu hrany platí:

                                                                                                        (37)

Kritérium jednej odozvy sa dosahuje následne prahovaním. 

2.5.9 Ostrenie obrazu

    Gradientové operátory môžeme použiť aj na ostrenie obrazu. Pre obraz g, ktorý vznikol z obrazu f ostrením platí

                                                                                               (38)

kde c je kladná konštanta, ktorá udáva silu ostrenia, S(x,y) je hranový operátor.


DIP - Digital Image Processing, Interaktívna učebnica spracovania obrazu
Copyright©2003-06 Gábor Blázsovits, Katedra aplikovanej informatiky FMFI UK Bratislava