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