˚ GUI PRO SEGMENTACI OBRAZU Z. Mˇeˇr´ınsk´y, A. Gavlasov´ a ´ Vysok´ a ˇskola chemicko-technologick´a, Ustav poˇc´ıtaˇcov´e a ˇr´ıdic´ı techniky Abstrakt Anal´ yza obraz˚ u aˇ c´ıslicov´ a filtrace tvoˇ r´ı z´ aklad v oblasti digit´ aln´ıho zpracov´ an´ı obrazu. Dalˇ s´ım krokem ve v´ yvoji poˇ c´ıtaˇ cov´ ych technik je segmentace obrazu. ˇ anek je zamˇ Cl´ eˇ ren na pouˇ zit´ı diskr´ etn´ı Fourierovy transformace a ˇ c´ıslicov´ e filtrace s n´ aslednou segmentac´ı obrazu pomoc´ı ”watershed” neboli rozvod’ov´ e transformace. Velk´ a pozornost je vˇ enov´ ana tvorbˇ e grafick´ eho uˇ zivatelsk´ eho prostˇ red´ı, kter´ e v sobˇ e obsahuje vˇ sechny pouˇ zit´ e algoritmy a poskytuje uˇ zivateli pˇ r´ıjemnou pr´ aci na z´ akladˇ e interaktivn´ıch grafick´ ych prvk˚ u.
1
´ Uvod
Segmentace obraz˚ u hraje d˚ uleˇzitou roli v dneˇsn´ım svˇetˇe poˇc´ıtaˇcov´e techniky. M˚ uˇzeme ji pˇritom oznaˇcit za samostatn´ y smˇer, ve kter´em se d´a vyuˇz´ıt mnoho z´ akladn´ıch poznatk˚ u ze zpracov´ an´ı obraz˚ u nabyt´ ych doposud. Segmentace n´ am otev´ır´ a nov´e moˇznosti v medic´ınsk´e diagnostice, v pr˚ umyslov´e automatizaci, pˇri chemick´e anal´ yze a v mnoh´ ych dalˇs´ıch oblastech. Z´akladem u ´spˇeˇsn´e segmentace je vhodnˇe zvolen´a metoda pro zpracov´ an´ı obrazu. V tomto ˇcl´anku se budeme zab´ yvat metodami zpracov´ an´ı obrazu, konkr´etnˇe anal´ yzou obrazu pomoc´ı diskr´etn´ı Fourierovy transformace (DFT) a ˇc´ıslicovou filtrac´ı s vyuˇzit´ım FIR filtr˚ u, a d´ ale se zamˇeˇr´ıme na principy segmentace obraz˚ u a jejich aplikaci. V ˇc´asti segmentace obrazu se vˇenujeme pˇredevˇs´ım ”watershed” nebo-li rozvod’ov´e transformaci. Posledn´ı ˇc´ast tohoto ˇcl´anku ˇreˇs´ı probl´em zpracov´an´ı algoritmu jako celku a to pomoc´ı grafick´eho uˇzivatelsk´eho prostˇred´ı (GUI), kter´e nab´ız´ı uˇzivateli v´ ystup v podobˇe grafick´eho okna s interaktivn´ımi prvky.
2
Vybran´ e metody anal´ yzy obraz˚ u
V digitalizovan´e podobˇe je obraz reprezentov´ an matic´ı o velikosti M × N . Kaˇzd´e ˇc´ıslo matice odpov´ıd´ a jednomu pixelu (picture element). Hodnota jednotliv´ ych ˇc´ısel v matici z´avis´ı na obrazov´ e funkci a(m, n). Obrazov´ a funkce je r˚ uzn´ a pro kaˇzdou barevnou sloˇzku obrazu (napˇr. RGB obraz m´ a tˇri sloˇzky barev, intenzitn´ı m´a pouze jednu sloˇzku).
2.1
Dvourozmˇ ern´ a diskr´ etn´ı Fourierova transformace (2D DFT)
Tato metoda je pr˚ ukopn´ıkem anal´ yzy obrazu. Rozˇsiˇruje jednorozmˇernou DFT pouˇz´ıvanou pˇri detekci v´ yznamn´ ych frekvenˇcn´ıch sloˇzek diskr´etn´ıho sign´ alu. Pomoc´ı 2D DFT je obrazov´ a funkce a(m, n) pˇrevedena do frekvenˇcn´ı oblasti A(u, v) pomoc´ı n´ asleduj´ıc´ıho vztahu [15]. A(u, v) =
−1 M −1 N
mu
a(m, n)e−2πj ( M
+ nv N )
, u = 0, 1, ..., M − 1, v = 0, 1, ..., N − 1
(1)
m=0 n=0
Dvourozmˇern´ a DFT je tak´e definov´ ana pro pˇrevod zpˇet na obrazovou funkci. a(m, n) =
−1 −1 N mu nv 1 M A(u, v)e2πj ( M + N ) , m = 0, 1, ..., M − 1, n = 0, 1, ..., N − 1 M N u=0 v=0
(2)
K odhadu v´ ykonov´e spektr´aln´ı hustoty P (u, v), kter´ a slouˇz´ı k detekci v´ yznamn´ ych sloˇzek obrazu je moˇzn´e vyuˇz´ıt n´ asleduj´ıc´ı vztah. P (u, v) = |A(u, v)|2
(3)
3
Metody ˇ c´ıslicov´ e filtrace
ˇ ıslicov´a filtrace je v´ C´ yznamn´ y n´ astroj pˇri potlaˇcov´an´ı ruˇsiv´ ych sloˇzek obraz˚ u. Filtr si lze pˇredstavit jako line´ arn´ı ˇcasovˇe invariantn´ı syst´em s jedn´ım v´ ystupem a jedn´ım vstupem. Filtraci m˚ uˇzeme prov´adˇet jednak v ˇcasov´e oblasti a tak´e ve frekvenˇcn´ı oblasti. V t´eto pr´ aci aplikujeme filtr v ˇcasov´e oblasti.
3.1
FIR filtry
V t´eto pr´ aci se omezujeme na pouˇzit´ı FIR filtru. Je to filtr s koneˇcnou impulsn´ı charakteristikou, kter´ a vych´ az´ı z odezvy na jednotkov´ y skok. Dvourozmˇern´e FIR filtry jsou rozˇs´ıˇren´ım jednorozmˇern´ ych FIR filtr˚ u. Pro svou stabilitu jsou velmi pouˇz´ıvan´e pro filtraci obraz˚ u. 2D FIR filtr je matice h rozmˇer˚ u N1 ×N2 , tedy stejn´ ych rozmˇer˚ u jako p˚ uvodn´ı obraz A, na kter´ y bude filtr aplikov´ an. V´ ystupn´ı obraz y z´ısk´ ame po aplikaci n´ asleduj´ıc´ı diferenˇcn´ı rovnice [9]. Tato rovnice je vlastnˇe dvourozmˇern´ a konvoluce. y(n1 , n2 ) =
N 1 −1 N 2 −1
h(l1 , l2 )a(n1 − l1 , n2 − l2 )
(4)
l1 =0 l2 =0
´hlov´e frekFiltr je tak´e charakterizov´ an frekvenˇcn´ım pˇrenosem, symboly ω1 a ω2 jsou mezn´ı u vence. H(e
jω1
,e
jω2
)=
N 1 −1 N 2 −1
h(n1 , n2 )e−jω1 n1 e−jω2 n2
(5)
n1 =0 n2 =0
Pˇri filtraci, kterou m˚ uˇzeme vidˇet na obr. 1, tzn. pˇri n´ avrhu filtru a jeho aplikaci na obraz postupujeme n´ asledovnˇe: 1. anal´ yza dan´eho obrazu - urˇcen´ı frekvenˇcn´ıch sloˇzek pomoc´ı 2D DFT 2. urˇcen´ı frekvenˇcn´ıho p´ asma uˇziteˇcn´ ych informac´ı - urˇcen´ı mezn´ıch frekvenc´ı 3. v´ ybˇer typu filtru 4. urˇcen´ı konstant diferenˇcn´ı rovnice 5. aplikace diferenˇcn´ı rovnice na obraz (a) Zasumený obraz
(c) Navrzený 2D FIR filtr
(b) Filtrovaný obraz
1
Magnitude
0.8 0.6 0.4 0.2 0 1 0.5
1 0.5
0
0
−0.5 F
y
−0.5 −1
−1
F
x
Obr´ azek 1: Na obr´ azku je zobrazen zaˇsumˇen´ y obraz (a) a filtrovan´ y obraz (b) po aplikaci navrˇzen´eho n´ızkofrekvenˇcn´ıho filtru (c)
3.2
Medi´ anov´ y filtr
Tento filtr je zaloˇzen na vyhled´ av´ an´ı medi´ anu [7]. Medi´ an x ˜ je hodnota, kter´ a se nach´az´ı yt seˇrazeny podle velikosti. uprostˇred statistick´eho souboru hodnot x1 , x2 , ..., xn , kter´e mus´ı b´ Tohoto postupu vyuˇz´ıv´ a i medi´ anov´ y filtr [1],[3]. Medi´ anov´ y filtr umoˇzn ˇuje vyhlazen´ı extr´emn´ıch hodnot v obraze. Kolem kaˇzd´eho pixelu v obraze se vytvoˇr´ı okol´ı, ze kter´eho se vypoˇc´ıt´ a medi´an. Pak je p˚ uvodn´ı hodnota toho pixelu nahrazena hodnotou medi´ anu, tak jak je to naznaˇceno na
ˇ ım je oblast pro v´ obr. 2. Tento postup se opakuje na vˇsechny pixely v obraze. C´ ypoˇcet medi´anu vˇetˇs´ı, t´ım vˇetˇs´ı je vyhlazen´ı. Je-li poˇcet hodnot, ze kter´ ych poˇc´ıt´ ame medi´an, lich´ y, pak se jako v´ ysledn´ a hodnota vezme prostˇredn´ı hodnota z tohoto souboru hodnot. Je-li poˇcet hodnot sud´ y, medi´an se vypoˇc´ıt´ a jako pr˚ umˇer dvou prostˇredn´ıch hodnot.
Obr´ azek 2: Oblast pixel˚ u, na kterou je pouˇzit medi´anov´ y filtr
4
Principy segmentace obraz˚ u
Tato pr´ ace je zamˇeˇren´ a na pouˇzit´ı rozvod’ov´e transformace, kter´a se aplikuje pro detekci obrazov´ ych ˇc´ast´ı. Je zaloˇzena na zemˇepisn´em v´ yznamu slova rozvod´ı a tvoˇr´ı z´akladn´ı matematick´ y n´ astroj pro segmentaci ˇsedot´onov´eho obrazu [2], [6], [5]. Rozvod´ı je br´ azda, kter´ a rozdˇeluje zemˇepisn´e plochy vyˇcerpan´e r˚ uzn´ ymi ˇr´ıˇcn´ımi syst´emy. Sp´ adov´ a j´ımka je zemˇepisn´a plocha stahuj´ıc´ı vodu do ˇreky nebo do jezer a je to objekt nebo region, kter´ y chceme identifikovat a naj´ıt jeho obrys. Pro nalezen´ı obrys˚ u tˇechto objekt˚ u, vyuˇzijeme n´astroj bˇeˇznˇe pouˇz´ıvan´ y ve spojen´ı s rozvod’ovou transformac´ı a to transformaci distanˇcn´ı. Distanˇcn´ı transformaci lze aplikovat pouze na bin´ arn´ı obrazy. Transformace bin´ arn´ıho obrazu AM,N se prov´ad´ı v´ ypoˇctem euklidovsk´e vzd´alenosti kaˇzd´eho pixelu ai,j k nejbliˇzˇs´ımu any vztahem: pixelu ak,l s hodnotou 1 [6]. Elementy bi,j transformovan´e matice BM,N jsou definov´
bi,j =
0 pro ai,j = 1 min∀k,l,ak,l =1 ( (i − k)2 + (j − l)2 ) pro ai,j = 0, i = 1, 2, · · · , M, j = 1, 2, · · · , N
(6)
Pˇr´ıklad aplikace distanˇcn´ı transformace vypoˇcten´e pomoc´ı rov. (6) je uveden na n´ asleduj´ıc´ıch matic´ıch A a B. 1 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 Bin´ arn´ı obraz
0 0 0 0 0 A
0.00 0.00 1.00 2.00 3.00 0.00 0.00 1.00 2.00 3.00 1.00 1.00 1.41 2.00 2.24 1.41 1.00 1.00 1.00 1.41 1.00 0.00 0.00 0.00 0.00 Transformovan´ y obraz B
Pro efektivn´ı vyuˇzit´ı distanˇcn´ı transformace v segmentaci je vˇsak algoritmus rozˇs´ıˇren n´ asleduj´ıc´ım zp˚ usobem: • bin´ arn´ı obraz je pˇreveden na komplement´arn´ı • na komplement´arn´ı obraz se aplikuje distanˇcn´ı transformace
• transformovan´ y obraz se opˇet pˇrevede na komplement´arn´ı a m´ısto nul dosad´ıme −∞ • pot´e se aplikuje rozvod’ov´ a transformace, kter´ a v obraze vyznaˇc´ı hledan´e regiony Pokud je obraz, kter´ y chceme segmentovat, zaˇsumˇen´ y, vede segmentace pomoc´ı rozvod’ov´e transformace k pˇresegmentov´an´ı (obrovsk´ y poˇcet region˚ u) a nejsme schopni urˇcit poˇcet spr´avn´ ych segment˚ u. N´ asledn´a klasifikace obrazu je bezv´ yznamn´a. Segmentace zaloˇzen´a na charakteristick´ ych vlastnostech obrazu, anglicky ”Feature Based Image Segmentation” [12], [13] je dalˇs´ı, velmi efektivn´ı alternativou. Princip metody je zaloˇzen na vytvoˇren´ı vektoru vlastnost´ı. Algoritmus proch´ az´ı pixel po pixelu, aktu´ aln´ı pixel se vˇzdy st´av´ a koˇrenov´ ym pixelem a na z´akladˇe definovan´eho okol´ı kolem koˇrenov´eho pixelu (napˇr. 7 × 7 pixel˚ u) se vypoˇc´ıt´ a jeho vektor vlastnost´ı (poˇc´ıt´ a se napˇr. stˇredn´ı hodnota, rozptyl, atd.). Tento vektor slouˇz´ı jako vstup pro klasifikaci, kde je urˇcen poˇcet skupin, na kter´e se m´a obraz rozdˇelit. Porovn´ an´ım vlastnost´ı jednotliv´ ych skupin a vektoru vlastnost´ı dan´eho pixelu urˇc´ıme, do kter´e skupiny patˇr´ı pr´ avˇe n´aˇs koˇrenov´ y pixel a pˇriˇrad´ıme mu jakousi n´ alepku. T´ımto postupem oznaˇc´ıme pixely cel´eho obrazu a v tomt´eˇz kroku obraz klasifikujeme do zvolen´eho poˇctu skupin. Dalˇs´ı metodou, kter´ a se zab´ yv´ a segmentac´ı, je metoda vyuˇz´ıvaj´ıc´ı wavelet transformaci, kter´ a umoˇzn ˇuje r˚ uzn´ a rozliˇsen´ı obrazu, s n´ asledn´ ym vyuˇzit´ım rozvod’ov´e transformace jak je vidˇet na obr. 3, 4 a 5, anglicky ”Multiscale Image Segmentation Using Wavelets and Watersheds” [8]. Touto metodou vyuˇz´ıvaj´ıc´ı niˇzˇs´ı rozliˇsen´ı obrazu po dekompozici obrazu pomoc´ı wavelet transformace se vˇenuje nˇekolik ˇcl´ank˚ u [10], [11], [16], [4]. Tato metoda se skl´ ad´ a ze ˇctyˇr krok˚ u: dekompozice obrazu, segmentace, spojov´an´ı region˚ u a zpˇetn´e projekce obrazu. (a) Binarni obraz
(b) Dekompozice do 1. urovne
(c) Podobraz s aprox. koef.
8
16
8
8
16
8
8
8
Obr´ azek 3: Zobrazen´ı (a) bin´ arn´ıho obrazu (16×16), jeho (b) wavelet dekompozice do 1. u ´rovnˇe a (c) aproximovan´eho podobrazu po dekompozici s niˇzˇs´ım rozliˇsen´ım (8 × 8) Nejprve dekomponujeme obraz pomoc´ı wavelet transformace napˇr. do druh´e u ´rovnˇe, d´ ale ’ segmentujeme aproximovan´ y podobraz s nejniˇzˇs´ım rozliˇsen´ım s vyuˇzit´ım rozvod ov´e transformace (viz obr. 5). Pot´e sluˇcujeme segmentovan´e regiony na z´ akladˇe jejich vlastnost´ı a nakonec tento segmentovan´ y obraz s n´ızk´ ym rozliˇsen´ım prom´ıtneme zpˇet pomoc´ı inverzn´ı wavelet transformace na origin´ aln´ı rozliˇsen´ı obrazu. Tento algoritmus segmentace je n´aroˇcn´ y, ale jeho u ´spˇeˇsnost je vysok´ a. (a) Binarni obraz
(b) Distancni transformace
(c) Segmentace
16
16
Obr´ azek 4: Zobrazen´ı (a) bin´ arn´ıho obrazu (16 × 16) s p˚ uvodn´ım rozliˇsen´ım, jeho (b) distanˇcn´ı transformace a (c) segmentace Z obr. 5 je zˇrejm´e, ˇze segmentaci je moˇzn´e tak´e dobˇre prov´ adˇet na obrazech s niˇzˇs´ım rozliˇsen´ım, coˇz m˚ uˇze tak´e zamezit vzniku neˇz´adouc´ım region˚ um a tak´e sn´ıˇzit v´ ypoˇcetn´ı ˇcas.
(a) Podobraz s aprox. koef.
(b) Distancni transformace
(c) Segmentace
8
8
Obr´ azek 5: Zobrazen´ı (a) podobrazu s aproximaˇcn´ımi koeficienty (8×8) po wavelet dekompozici do 1. u ´rovnˇe, jeho (b) distanˇcn´ı transformace a (c) segmentace
5 5.1
Popis GUI Tvorba GUI v syst´ emu Matlab
Syst´em Matlab nab´ız´ı moˇznost vytv´ aˇret grafick´ a uˇzivatelsk´a prostˇred´ı (GUI), kter´ a zjednoduˇs´ı pouˇz´ıv´ an´ı vytvoˇren´ ych program˚ u. Jsou dvˇe moˇznosti, jak grafick´e uˇzivatelsk´e prostˇred´ı vytvoˇrit. • S pouˇzit´ım zdrojov´eho k´odu • S vyuˇzit´ım vestavˇen´eho editoru Pro zaˇc´ateˇcn´ıky je v´ yhodnˇejˇs´ı pˇri n´ avrhu prostˇred´ı pouˇz´ıt vestavˇen´ y editor, kter´ y umoˇzn ˇuje interaktivn´ı formou nastavit hlavnˇe grafick´e vlastnosti navrˇzen´eho prostˇred´ı. Po uloˇzen´ı n´ avrhu editor tak´e vygeneruje m - soubor, do kter´eho je moˇzno pˇrid´ avat vlastn´ı ˇc´asti programu. Editor umoˇzn ˇuje pˇr´ımo vkl´ adat ovl´ adac´ı ˇci zobrazovac´ı prvky GUI. Nav´ıc obsahuje tzv. menu editor, adac´ı kde je moˇzno vytv´ aˇret ˇci upravovat poloˇzky menu (napˇr. poloˇzka File-New). Jednotliv´e ovl´ prvky je moˇzn´e libovolnˇe um´ıstit v ploˇse editoru, kter´ a vymezuje vznikaj´ıc´ı GUI. Kaˇzd´ y prvek GUI m´ a ˇradu vlastnost´ı, kter´e je moˇzno nastavovat. Jeden zp˚ usob je pomoc´ı editoru GUI, kde je k dispozici tzv. Property Inspector. Ten zobraz´ı vˇsechny dostupn´e vlastnosti ovl´ adac´ıho prvku a hodnoty, na kter´e je moˇzno jej mˇenit. Druh´ y zp˚ usob je programovˇe v m - souboru. K tomuto u ´ˇcelu jsou moˇzn´e vyuˇz´ıt funkce set a get. Funkce get z´ısk´ a danou vlastnost, funkce set ji zmˇen´ı. • Kr´ atk´y u ´sek programu z GUI. if islogical(x2) && ∼issparse(x2); set(handles.gamma,’Visible’,’Off’); else set(handles.gamma,’Visible’,’On’); end
5.2
Moˇ znosti navrˇ zen´ eho GUI
Navrˇzen´e GUI umoˇzn ˇuje aplikovat v´ yˇse uveden´e metody jak pro zpracov´ an´ı sign´ al˚ u, tak pro zpracov´ an´ı obraz˚ u s t´ım, ˇze pro zpracov´ an´ı obraz˚ u je nab´ıdka jeˇstˇe rozˇs´ıˇrena o segmentaci au ´pravy obrazu. Pro sign´ al je moˇzn´e: • Navrˇzen´ı sign´ alu s dvˇema n´ahodn´ ymi amplitudami, frekvencemi a n´ ahodnou d´elkou • Moˇznost volby d´elky sign´ alu, dvou amplitud a frekvenc´ı • Otevˇren´ı a uloˇzen´ı sign´ alu do MAT - souboru • Pˇrid´ an´ı n´ ahodn´eho ˇsumu k sign´ alu • N´avrh FIR filtru k potlaˇcen´ı ˇci odstranˇen´ı ˇsumu ze sign´alu Na obr. 6 je v horn´ı ˇc´asti zobrazen filtrovan´ y sign´ al a ve spodn´ı ˇc´asti jeho spektrum a frekvenˇcn´ı charakteristika pouˇzit´eho filtru. ´prav, neˇz kter´e Tˇeˇziˇstˇe pr´ ace je ve zpracov´an´ı obraz˚ u. Program nab´ız´ı i jin´e moˇznosti u byly pops´ any v pˇredeˇsl´ ych ˇc´astech a umoˇzn ˇuje:
Graficke uzivatelske prostredi pro zpracovani signalu
Obr´ azek 6: Zobrazen´ı grafick´eho uˇzivatelsk´eho panelu pro zpracov´ an´ı sign´ alu • Otevˇren´ı a uloˇzen´ı dat do podporovan´ ych form´ at˚ u JPEG, GIF, MAT • Pˇrid´ an´ı ˇsumu k obrazu (Gaussovsk´y b´ıl´y a Salt and Pepper) • N´avrh ˇc´ıslicov´ ych filtr˚ u a jejich aplikace na obraz (pops´ ano v kapitole 3) • Zmˇeny barevn´e reprezentace obrazu z RGB do intenzitn´ıho obrazu a ten pak do ˇcernob´ıl´eho obrazu s volitelnou hodnotou prahu, pˇriˇcemˇz je moˇzno vyuˇz´ıt funkci graythresh, kter´ a vypoˇc´ıt´ a hodnotu prahu Otsovou metodou [14] • Zpˇr´ıstupnˇen´ı dalˇs´ı moˇznosti u ´prav obrazu pomoc´ı tlaˇc´ıtka Adjustments ´ – Upravy jasov´e funkce obrazu ´ – Upravy histogramu – gama korekce – Geometrick´e transformace – zmˇena rozliˇsen´ı a v´ yˇrez • Operace bin´ arn´ı matematick´e morfologie (dilatace, eroze, otevˇren´ı a uzavˇren´ı) pro ˇcernob´ıl´e obrazy • Segmentaci obraz˚ u pro ˇcernob´ıl´ y obraz, kdy se zpˇr´ıstupn´ı tlaˇc´ıtko Segmentation a podle kvality p˚ uvodn´ıho ˇci filtrovan´eho obrazu se provede segmentace Obr. 7 uv´ ad´ı pˇr´ıklad segmentace obrazu po aplikaci rozvod’ov´e transformace. V doln´ı ˇc´asti panelu je zobrazeno spektrum obrazu a pouˇzit´ y 2D filtr. V lev´e ˇc´asti obrazu jsou vidˇet tlaˇc´ıtka uˇzivatelsk´eho prostˇred´ı. Graficke uzivatelske prostredi pro segmentaci obrazu
Obr´ azek 7: Zobrazen´ı grafick´eho uˇzivatelsk´eho panelu pro segmentaci obrazu
6
Z´ avˇ er
C´ılem tohoto pˇr´ıspˇevku bylo navrˇzen´ı GUI pro segmentaci obraz˚ u. K tomu je potˇreba zahrnout tak´e metody anal´ yzy obrazu. Pouˇzit´ım navrˇzen´eho GUI si uˇzivatel m˚ uˇze vyzkouˇset nejen moˇznosti ˇc´ıslicov´eho zpracov´an´ı obraz˚ u, ale i sign´ al˚ u. V pˇr´ıpadˇe sign´al˚ u i obraz˚ u lze pˇridat n´ ahodn´ y ˇsum. Pro detekci v´ yznamn´ ych frekvenˇcn´ıch sloˇzek je pouˇzita diskr´etn´ı Fourierova transformace. Aby se dala aplikovat v praxi teorie FIR filtr˚ u, je moˇzno si navrhnout v interaktivn´ım grafick´em prostˇred´ı vlastn´ı FIR filtr. Staˇc´ı pouze zadat jeho d´elku a mezn´ı frekvenci. K navrˇzen´emu filtru se ihned zobraz´ı frekvenˇcn´ı pˇrenos. Po aplikaci filtru a zobrazen´ı v´ ysledn´eho sign´alu a obrazu a jejich spekter lze poznat, jestli byl filtr u ´ˇcinnˇe navrˇzen. Po filtraci je obraz pˇreveden na ˇcernob´ıl´ y obraz a je na nˇej aplikov´ ana distanˇcn´ı transformace n´ asledov´ana rozvod’ovou transformac´ı. V´ ysledn´ y segmentovan´ y obraz a p˚ uvodn´ı obraz pro srovn´ an´ı jsou zobrazeny v samostatn´em oknˇe. V dalˇs´ı pr´ aci se budeme vˇenovat rozˇs´ıˇren´ı GUI o dalˇs´ı metodu anal´ yzy obrazu - wavelet transformaci, jej´ıˇz vlastnosti budeme vyuˇz´ıvat pro segmentaci obrazu. Po u ´spˇeˇsn´em zvl´adnut´ı segmentace bude moˇzn´e pak rozvinout posledn´ı ˇc´ast zpracov´an´ı obrazu a to klasifikaci.
Algoritmus N´asleduj´ıc´ı ˇc´ast algoritmu popisuje filtraci a segmentaci obrazu s vyuˇzit´ım rozvod’ov´e transformace, kter´ a je detailnˇe pops´ana v kapitole 4. • Naˇcten´ı obrazu a anal´ yza. A = load(’SimImageNoised.mat’); AA = fftshift(fft2(A)); AA = (AA-mean(AA(:))); • N´ avrh 2D FIR filtru a aplikace. f = [0 0.15 0.2 1]; m = [1 1 0 0]; b = fir2(30,f,m); h = ftrans2(b); Afilt = filter2(h,A); • Segmentace obrazu. bw = im2bw(Afilt, graythresh(Afilt)); bwc = bw; D = bwdist(bwc); D1 = (D-min(D(:)))/(max(D(:))-min(D(:))); D = -D; D(bwc) = -Inf; LL = watershed(D); w = LL == 0;
%pˇ revod na bin´ arn´ ı obraz %vytvoˇ ren´ ı kompl. obrazu %distanˇ cn´ ı transformace
%rozvod’ov´ a transformace
Podˇ ekov´ an´ı Tato pr´ ace vznikla za podpory v´ yzkumn´eho grantu Fakulty chemicko-inˇzen´ yrsk´e Vysok´e ˇskoly chemicko-technologick´e v Praze ˇc´ıslo 6046137306.
Reference [1] Wikipedia - the free encyclopedia, http://en.wikipedia.org. Internet. [2] S. Arivazhagan and L. Ganesan. Texture Segmentation Using Wavelet Transform. Pattern Recognition Letters, 24(16):3197–3203, December 2003.
[3] A. Walker B. Fisher, S. Perkins and E. Wolfart. Hypermedia image processing reference - median filter, http://www.cee.hw.ac.uk/hipr/html/median.html. Internet, 1994. Department of Artificial Intelligence, University of Edinburgh, UK. [4] Y. H. Chai, L. Q. Gao, and S. Lu. Wavelet-based Watershed for Image Segmentation Algorithm. 6th World Congress on Intelligent Control and Automation, June 2006. [5] A. Gavlasov´ a, A. Proch´ azka, and M. Mudrov´ a. Wavelet Use for Image Classification. 15th ˇ International Conference on Process Control, Strbsk´ e Pleso, 2005. [6] R. C. Gonzales, R. E. Woods, and S. L. Eddins. Digital Image Processing Using MATLAB. Prentice Hall, 2004. ˇ [7] J. Pavl´ık a kol. Aplikovan´ a statistika. VSCHT Praha, 2005. [8] C. R. Jung. Multiscale Image Segmentation Using Wavelets and Watersheds. Pattern Recognition Letters, 2003. [9] L. Karam. 2D FIR Filters, http://www.fulton.asu.edu/∼karam/eee507/Lectures/eee507 2DFIRImplement.pdf. Internet, 2004. [10] J. B. Kim and H. J. Kim. Multiresolution-based Watersheds for Efficient Image Segmentation. Pattern Recognition Letters, 24:473–488, 2003. [11] H. Liu, Z. Chen, X. Chen, and Y. Chen. Multiresolution Medical Image Segmentation Based on Wavelet Transform. Engineering in Medicine and Biology 27th Annual Conference, September 2005. [12] J.A. Rushing, H. Ranganath, T.H. Hinke, and S.J. Graves. Image Segmentation Using Association Rule Features. IEEE Transactions on Image Processing, 11(5):558–567, 2002. [13] C.W. Shaffrey. Multiscale Techniques for Image Segmentation, Classification and Retrieval. PhD thesis, University of Cambridge, Department of Engineering, 2003. [14] Inc. The MathWorks. Matlab help, http://www.mathworks.com/access/helpdesk/help/techdoc/matlab.html. Internet, 1984– 2007. ˇ [15] V. Hlav´ aˇc, M. Sedl´ aˇcek. Zpracov´ an´ı sign´ al˚ u a obraz˚ u. CVUT Praha, 2005. [16] J. Zhang and J. Fan. Medical Image Segmentation Based on Wavelet Transformation and Watershed Algorithm. International Conference on Information Acquisition, August 2006.
Bc. Zdenˇek Mˇeˇr´ınsk´ y, Ing. Andrea Gavlasov´ a Vysok´ a ˇskola chemicko-technologick´a v Praze ´ Ustav poˇc´ıtaˇcov´e a ˇr´ıdic´ı techniky Technick´a 1905, 166 28 Praha 6 Tel.: 00420-220 442 970 E-mail:
[email protected],
[email protected]