Progowanie obrazow
Transkrypt
Progowanie obrazow
I. WstĊp. Jednym z podstawowych zadaĔ analizy obrazu jest segmentacja. Jest to podział obrazu na obszary spełniające pewne kryterium jednorodnoĞci. Jedną z najprostszych metod segmentacji obrazu jest progowanie. Jest to szybka i szeroko stosowana technika. Progowanie polega na okreĞleniu pewnej wartoĞci progowej t (w skali obrazu) oraz porównaniu wartoĞci kaĪdego punktu obrazu z daną wartoĞcią progową. DziĊki odpowiednio dobranej wartoĞci progowej moĪna wyróĪniü w obrazie obszary okreĞlonego typu. Istnieje kilka metod wyodrĊbniania obszarów przez progowanie. Najprostsza polega na ustaleniu jednej wartoĞci progu i przydzieleniu kaĪdemu elementowi obrazu (pikselowi) odpowiedniej wartoĞci 0 lub 1, postĊpując zgodnie ze wzorem: 1 : J ( x, y ) > t J w ( x, y ) = ® , ¯0 : J ( x, y ) ≤ t (1) gdzie t – próg, J ( x, y ) – stopieĔ szaroĞci piksela ( x, y ) , J w ( x, y ) – wartoĞü po progowaniu. WartoĞü 0 moĪe oznaczaü kolor czarny, a wartoĞü 1 kolor biały, nie jest to jednak regułą. PowyĪsza operacja opisuje transformacjĊ obrazu Ĩródłowego w odcieniach szaroĞci w obraz wyjĞciowy, tzw. obraz binarny. CzĊsto teĪ operacjĊ taką, która w wyniku daje obraz binarny, nazwa siĊ binaryzacją obrazu. W obrazie tym punkty J ( x, y ) > t są punktami obiektu, natomiast punkty J ( x, y ) ≤ t tworzą tło. W powyĪszej metodzie uĪyto tylko jednego progu. OperacjĊ, w której uĪywamy wiĊcej progów nazywamy progowaniem wielokryterialnym. W wyniku takiej operacji powstaje obraz, który nie jest binarny, ale złoĪony z segmentów o róĪnych poziomach szaroĞci. Dla przykładu w przypadku, gdy okreĞlono 2 progi, operacja taka okreĞlona jest nastĊpująco: 0 : J ( x, y ) ≤ t1 ° J w ( x, y ) = ® 1 : t1 < J ( x, y ) ≤ t 2 °2 : J ( x, y ) > t 2 ¯ (2) Gdy wartoĞü progu jest ustalana na podstawie całego obrazu to mówimy, Īe mamy do czynienia z wyznaczaniem progu globalnego – globalny próg jasnoĞci. 1 Gdy wartoĞü progu zaleĪy od współrzĊdnych przestrzennych ( x, y ) obrazu to mówimy, Īe próg jest ustalany dynamicznie – dynamiczny próg jasnoĞci, dla przykładu : J ( x, y ) : J ( x, y ) > t ( x, y ) J w ( x, y ) = ® J ( x , y ) ≤ t ( x, y ) ¯0: (3) gdzie t ( x, y ) – oznacza próg, którego wartoĞü zaleĪy od współrzĊdnych x, y. Ponadto, gdy próg jest zarówno zaleĪny od treĞci obrazu, tj. wartoĞci J ( x, y ) oraz od pewnej cechy obrazu p ( x, y ) – np. Ğredniej jasnoĞci obrazu w pewnym otoczeniu, to próg jest okreĞlany mianem lokalnego – lokalny próg jasnoĞci. Podstawowym problemem przy operacji progowania jest automatyczne oszacowanie wartoĞci progowej. Jest to problemem złoĪony i istnieje kilka metod znajdowania optymalnego progu. W swojej pracy przedstawiĊ dwie metody progowania globalnego: metodĊ wykorzystującą histogram oraz metodĊ wyznaczania progu na podstawie prostej statystyki obrazu. 2 II. Metody progowania. METODA I – zastosowanie histogramu. Jedną z prostszych metod wyznaczania progu jest uĪycie histogramu. Przyjmijmy, Īe histogram ma rozkład bimodalny, tzn. Īe obecne są dwa piki – odpowiednio obrazu i tła. Wtedy jako próg przyjmujemy takie miejsce, które odpowiada minimum miĊdzy pikami histogramu. W ten sposób dzielimy obraz na dwie klasy – obiekty i tło. Rys.1: Histogram o rozkładzie Wyszukując progu moĪemy postĊpowaü zgodnie z algorytmem: 1. Przyjmujemy początkową wartoĞü progu t. 2. Obliczamy Ğrednią wartoĞü czerni tcz wszystkich pikseli poniĪej progu t. 3. Obliczamy Ğrednią wartoĞü bieli tb wszystkich pikseli powyĪej progu t. 4. Obliczmy nową wartoĞü progu: t = t cz + t b 2 5. Powtarzamy kroki 2 – 4, aĪ t przestanie siĊ zmieniaü. CzĊsto wybór progu na podstawie globalnego histogramu jest trudny, gdyĪ np. trudno jest dokładnie wskazaü dół doliny miĊdzy pikami, gdy dolina jest płaska i szeroka oraz nasycona szumami. PoniewaĪ histogram zawiera jedynie informacje o czĊstoĞci wystĊpowania jasnoĞci pikseli w obrazie, nie zawiera natomiast informacji o ich przestrzennym rozłoĪeniu, stąd teĪ czĊsto wyniki uzyskane tą metodą nie są zadawalające. 3 Algorytm w postaci pseudokodu: Dane: KLVWRJUDP>@WDEOLFD]DZLHUDMĈFDLORőüZ\VWĈSLHļGDQHJRNRORUX 2EOLF]BSURJBKLVWRJUDP 7 GR WPSW DEFG IRULWRWGR DDKLVWRJUDP>L@L EEKLVWRJUDP>L@ WF]DE IRULWWRGR FFKLVWRJUDP>L@L GGKLVWRJUDP>L@ WEFG WWF]WE ZKLOHWPS≠W UHWXUQW PowyĪsza metoda została zaimplementowana w dołączonym programie. PoniĪej przedstawiam porównanie obrazu oryginalnego i obrazu po progowaniu metodą histogramową. Dla podanego obrazka wartoĞü progu została obliczona na 145. Rys.3: Wynik działania algorytmu stosującego histogram, próg - 145 Rys.2: Obraz oryginalny METODA II – wyznaczanie progu na podstawie prostej statystyki obrazu. Zakładamy, Īe obraz moĪemy podzieliü na dwie klasy – obiekty i tło. Tym razem nie musimy juĪ konstruowaü histogramu, wystarczy Īe skorzystamy z pewnej statystyki. Algorytm ten składa siĊ z dwóch kroków: 4 1. Wyznaczenie modułu gradientu jasnoĞci dla kaĪdego punktu obrazu: G(x, y) = max {|Gx(x, y), Gy(x, y)|} gdzie: (4) Gx(x, y) = J(x+1, y) – J(x–1, y) Gy(x, y) = J(x, y+1) – J(x, y–1) 2. Obliczenie progu według wzoru: ¦¦ J ( x, y)G( x, y) t= x y ¦¦ G ( x, y) x (5) y Przy uĪyciu tej metody, w przeciwieĔstwie do poprzedniej, uzyskuje siĊ progi doĞü dobrze spełniające kryterium uĪytkownika. Algorytm w postaci pseudokodu: Dane: REUD]RELHNWSU]HFKRZXMĈF\REUD] 2EOLF]BSURJBVWDW\VW\ND OLF]QLNPLDQRZQLN IRU\WRREUD]KHLJKW²GR IRU[WRREUD]ZLGWK²GR *[DEVREUD]>[\@²REUD]>[²\@ *\DEVREUD]>[\@²REUD]>[\@ *PD[*[*\ OLF]QLNOQLF]QLNREUD]>[\@* PLDQRZQLNPLDQRZQLN* WOLF]QLNPLDQRZQLN UHWXUQW PowyĪsza metoda została zaimplementowana w dołączonym programie. PoniĪej przedstawiam porównanie obrazu oryginalnego i obrazu po progowaniu metodą histogramową. Dla podanego obrazka wartoĞü progu została obliczona na 107. Rys.4: Obraz oryginalny Rys.5: Wynik działania algorytmu korzystającego z prostej statystyki obrazu, próg - 107 5