37
Primena morfoloˇ skih operacija u digitalnoj obradi slike

Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

Embed Size (px)

Citation preview

Page 1: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

Primena morfoloskih operacija udigitalnoj obradi slike

Page 2: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

SADRZAJ 2

Sadrzaj

1 Uvod 3

2 Pregled teorije skupova 42.1 Osnovni pojmovi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 Osnovne operacije u teoriji skupova . . . . . . . . . . . . . . . . . . . 4

3 Pregled morfoloskih operacija 63.1 Binarna dilatacija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

3.1.1 Matematicka definicija . . . . . . . . . . . . . . . . . . . . . . 63.1.2 Osobine dilatacije . . . . . . . . . . . . . . . . . . . . . . . . . 83.1.3 Dilatacija u Matlab-u . . . . . . . . . . . . . . . . . . . . . . . 9

3.2 Binarna erozija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2.1 Matematicka definicija . . . . . . . . . . . . . . . . . . . . . . 113.2.2 Osobine erozije . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2.3 Erozija u Matlab-u . . . . . . . . . . . . . . . . . . . . . . . . 13

3.3 Binarno otvaranje i zatvaranje . . . . . . . . . . . . . . . . . . . . . . 143.3.1 Definicija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.3.2 Osobine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.4 Ostale morfoloske operacije . . . . . . . . . . . . . . . . . . . . . . . 173.5 Razlicite forme strukturnog elementa . . . . . . . . . . . . . . . . . . 20

4 Primena binarnih morfoloskih operacija 224.1 Hit and Miss operacija . . . . . . . . . . . . . . . . . . . . . . . . . . 224.2 Odredivanje granica objekta . . . . . . . . . . . . . . . . . . . . . . . 234.3 Popunjavanje unutrasnjosti objekata . . . . . . . . . . . . . . . . . . 24

5 Gray-scale morfologija 265.1 Gray-scale dilatacija . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.2 Gray-scale erozija . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285.3 Gray-scale otvaranje i zatvaranje . . . . . . . . . . . . . . . . . . . . 295.4 Ostale gray-scale morfoloske operacije . . . . . . . . . . . . . . . . . . 31

6 Primena gray-scale morfoloskih operacija 336.1 Brisanje ivicnih objekata slike . . . . . . . . . . . . . . . . . . . . . . 336.2 Segmentacija slike . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336.3 Rekonstrukcija slike . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

7 Zakljucak 36

Page 3: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

1 UVOD 3

1 Uvod

Rec morfologija znaci forma i struktura objekta. Morfologijom se opisuje raspo-red i daju medusobne relacije izmedu objekata. Digitalna morfologija daje nacin dase opisu ili analiziraju oblici digitalnih objekata, pa prema tome i digitalnih slika.Digitalna morfologija posmatra sliku u kontekstu teorije skupova. Dakle, slika jeskup elemenata (piksela) koji grupisani u dvodimenzionalnu strukturu daju odre-dene oblike. Matematicke operacije nad skupovima se koriste za analizu oblika, pre-brojavanje, prepoznavanje i slicno. Osnovne morfoloske operacije su erozija koja saslike brise grupe piksela koje odgovaraju zadatom i dilatacija koja malo podrucje okopiksela popunjava po zadatom modelu. Zavisno od tipa slike (binarna, gray-scale,color), definicije dilatacije i erozije se razlikuju i moraju se razmatrati odvojeno.

Page 4: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

2 PREGLED TEORIJE SKUPOVA 4

2 Pregled teorije skupova

2.1 Osnovni pojmovi

Binarne morfoloske operacije se definisu na binarnim slikama. Sliku vise neposmatramo kao funkciju dve promenljive, kontinualne ili diskretne,vec kao skuptacaka ili piksela kontinualnih ili diskretnih koordinata, respektivno. Pri tome jeneophodno definisati koordinatni pocetak.Objekat P je skup tacaka slike koje poseduju neku zajednicku osobinu,

P = {p|uslov}

Pozadina objekta P je skup tacaka slike koje ne pripadaju datom objektu,odnosno:

PC = {p|p 6∈ P}U programskom paketu Matlab,svetli pikseli(beli) imaju vrednost 1 i predsta-

vljaju deo objekta,dok tamni(crni) pikseli imaju vrednost 0 i pripadaju pozadiniobjekta.Jos jedna bitna stvar vezana za Matlab je cinjenica da se koordinatni pocetak nalaziu gornjem levom uglu.U sledecem primeru videcemo na koji nacin se definise binarnaslika u Matlab-u.

• • • • • • •• • • • • • •• • ◦ ◦ ◦ • •• • ◦ ◦ ◦ • •• • ◦ ◦ ◦ • •• • • • • • •• • • • • • •

Slika 2.1.Binarna slika u teoriji skupovaU teoriji skupova prethodna slika se definise kao skup uredenih parova koordinatatacaka koje cine sliku,odnosno:

P = {(2, 2) , (2, 3) , (2, 4) , (3, 2) , (3, 3) , (3, 4) , (4, 2) , (4, 3) , (4, 4)}

2.2 Osnovne operacije u teoriji skupova

Osnovne operacije nad skupovima koje se koriste u digitalnoj obradi slike su:unija,presek,razlika,komplement, translacija,refleksija,odnosno Minkowski sabiranjei oduzimanje.

U daljem tekstu bice dat pregled osnovnih operacije nad skupovima:

• Komplement

– Komplement skupa P predstavlja skup definisan kao:

PC = {p|p 6∈ P}

Page 5: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

2 PREGLED TEORIJE SKUPOVA 5

– Unija skupova P i Q predstavlja skup R, definisan kao:

R = P ∪Q = {r|r ∈ P ∨ r ∈ Q}• Presek

– Presek skupova P i Q predstavlja skup R, definisan kao:

R = P ∩Q = {r|r ∈ P ∧ r ∈ Q}

• Razlika

– Razlika skupova P i Q predstavlja skup R, definisan kao:

R = P \Q = {r|r ∈ P ∧ r 6∈ Q}

• Translacija

– Za dati vektor q i skup P translacija P+q se definise kao:

(P)q = P + q = {p + q|p ∈ P}

Treba napomenuti da je, kad radimo sa digitalnim slikama koje su sasta-vljene od piksela sa celobrojnim koordinatama, skup raspolozivih trans-lacionih vektora q ogranicen.

• Refleksija

– Refleksija skupa P je definisana kao:

P = {−p|p ∈ P}

• Minkowski sabiranje

– Sabiranje skupova P i Q po Minkovskom predstavlja skup R, definisanna sledeci nacin:

R = P⊕Q =⋃

q∈Q(P + q)

• Minkowski oduzimanje

– Oduzimanje skupova P i Q po Minkovskom predstavlja skup R, definisanna sledeci nacin:

R = PªQ =⋂

q∈Q(P + q)

• Unija

Page 6: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

3 PREGLED MORFOLOSKIH OPERACIJA 6

3 Pregled morfoloskih operacija

3.1 Binarna dilatacija

3.1.1 Matematicka definicija

Dilatacija skupa P skupom Q se definise kao

D (P,Q) = P⊕Q =⋃

q∈Q(P + q)

Skup P predstavlja sliku nad kojom se vrsi dilatacija, dok je skup Q operator kojinazivamo strukturni element.Od njegovog izgleda zavisi priroda specificne dilata-cije. Da bismo objasnili dilataciju, posmatrajmo Sliku 3.1.Skup P je slika,a Q= {(0, 0) , (0, 1)} strukturni element. Znakom × (svejedno da li je crno ili belo) jeoznacen koordinatni pocetak. Dilatacija skupa P strukturnim elementom Q je unijasvih translacija skupa P vektorima koji su elementi skupa Q:

D (P,Q) = {P + (0, 0)} ∪ {P + (0, 1)}

Skup P se sastoji od devet piksela Slika 3.1(a).Translacija za (0, 0) nece nista pro-meniti,tako da za P+(0, 0) dobijamo skup na Slici 3.1(b):

{(2, 2) , (2, 3) , (2, 4) , (3, 2) , (3, 3) , (3, 4) , (4, 2) , (4, 3) , (4, 4)}+ (0, 0) =

= {(2, 2) , (2, 3) , (2, 4) , (3, 2) , (3, 3) , (3, 4) , (4, 2) , (4, 3) , (4, 4)}

Rezultat translacije P+ (0, 1) je skup na Slici 3.1(c):

{(2, 2) , (2, 3) , (2, 4) , (3, 2) , (3, 3) , (3, 4) , (4, 2) , (4, 3) , (4, 4)}+ (0, 1) =

= {(2, 3) , (2, 4) , (2, 5) , (3, 3) , (3, 4) , (3, 5) , (4, 3) , (4, 4) , (4, 5)}

Dilatacija je unija skupova koji nastaju translacijom skupa P za sve elemente (vek-tore) q strukturnog elementa Q, te je konacan rezultat skup:

{(2, 2) , (2, 3) , (2, 4) , (2, 5) , (3, 2) , (3, 3) ,

(3, 4) , (3, 5) , (4, 2) , (4, 3) , (4, 4) , (4, 5)}

prikazan na Slici 3.1(d).• • • • • • •• • • • • • •• • ◦ ◦ ◦ • •• • ◦ ◦ ◦ • •• • ◦ ◦ ◦ • •• • • • • • •• • • • • • •

Slika 3.1(a).Originalna slika

Page 7: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

3 PREGLED MORFOLOSKIH OPERACIJA 7

• • • • • • •• • • • • • •• • ◦ ◦ ◦ • •• • ◦ ◦ ◦ • •• • ◦ ◦ ◦ • •• • • • • • •• • • • • • •

Slika 3.1(c).Translacija originalne slike elementom (0,0)

• • • • • • •• • • • • • •• • • ◦ ◦ ◦ •• • • ◦ ◦ ◦ •• • • ◦ ◦ ◦ •• • • • • • •• • • • • • •

Slika 3.1(d).Translacija originalne slike elementom (0,1)

• • • • • • •• • • • • • •• • ◦ ◦ ◦ ◦ •• • ◦ ◦ ◦ ◦ •• • ◦ ◦ ◦ ◦ •• • • • • • •• • • • • • •

Slika 3.1(e).Slika dobijena dilatacijom originala

U prethodnom primeru koordinatni pocetak je pripadao strukturnom elementu.To ne mora uvek biti slucaj.Na Slici 3.2 dat je primer dilatacije strukturnim ele-mentom koji ne sadrzi koordinatni pocetak.

• • • • • • •• ◦ • • • • •• • ◦ ◦ ◦ • •• • ◦ ◦ ◦ • •• • ◦ ◦ ◦ • •• • • • • ◦ •• • • • • • •

Slika 3.2(a).Originalna slika

◦ • ◦Slika 3.2(b).Strukturni element

Page 8: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

3 PREGLED MORFOLOSKIH OPERACIJA 8

• • • • • • •◦ • ◦ • • • •• ◦ ◦ ◦ ◦ ◦ •• ◦ ◦ ◦ ◦ ◦ •• ◦ ◦ ◦ ◦ ◦ •• • • • ◦ • ◦• • • • • • •

Slika 3.2(c).Slika dobijena dilatacijom

U narednom primeru prikazanom na Slici 3.3,videcemo na koji nacin je moguceprosiriti objekat u svim smerovima ravnomerno.

• • • • • • •• • • • • • •• • ◦ ◦ ◦ • •• • ◦ ◦ ◦ • •• • ◦ ◦ ◦ • •• • • • • • •• • • • • • •

Slika 3.3(a).Originalna slika

• • • • • • •• ◦ ◦ ◦ ◦ ◦ •• ◦ ◦ ◦ ◦ ◦ •• ◦ ◦ ◦ ◦ ◦ •• ◦ ◦ ◦ ◦ ◦ •• ◦ ◦ ◦ ◦ ◦ •• • • • • • •

Slika 3.3(b).Izlazna slika

Iz prvog primera je vidljivo da strukturni element koji sadrzi prvi piksel desnood ishodista dovodi do sirenja objekta udesno za jedan piksel.Za sirenje objekta usvim smerovima za jedan piksel strukturni element treba da bude kvadrat dimenzija3 × 3 sa centrom u ishodistu, kao na Slici 3.4.Taj strukturni element cemo zvatiprosti strukturni element.

◦ ◦ ◦◦ ◦ ◦◦ ◦ ◦

Slika 3.4.Prost strukturni element

3.1.2 Osobine dilatacije

Operacija dilatacije poseduje sledece osobine:

• Komutativnost

D (P,Q) = P⊕Q = Q⊕P = D (Q,P)

Page 9: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

3 PREGLED MORFOLOSKIH OPERACIJA 9

• Asocijativnost

D (P,D(Q,R)) = P⊕ (Q⊕R) = (P⊕Q)⊕R = D (D(P,Q),R)

• Invarijantnost na translaciju

D (P,Q+r) = P⊕ (Q + r) = (P⊕Q) + r = D (P,Q) + r

Dilatacija se posmatra kao unija svih translacija slike P koje su odredene struktur-nim elementom Q:

D (P,Q) = P⊕Q =⋃

q∈Q(P)q

Buduci da je dilatacija komutativna, mozemo je posmatrati kao uniju svih translacijastrukturnog elementa Q koje su odredene pikselima slike P:

D (Q,P) = Q⊕P =⋃

p∈P(Q)p

3.1.3 Dilatacija u Matlab-u

Dilatacija je morfoloska operacija koja stvara efekat ”sirenja” ili ”zadebljanja”predmeta u digitalnoj slici. Nacin i oblik sirenja pomenutih predmeta je kontrolisanoblikom tzv. strukturnog elementa.Strukturni element jeste matrica proizvoljnihdimenzija (ne vecih od dimenzija slike) sastavljena od nula i jedinica.Na primerstrukturni element moze da bude matrica

0 0 0 0 10 0 0 1 00 0 1 0 00 1 0 0 01 0 0 0 0

gde sredisnja jedinica prestavlja centralni piksel strukturnog elementa.U opstem slu-caju za strukturni element dimenzija m×n koordinate centralnog piksela se racunajukao

(xC , yC) =([

m + 1

2

],[n + 1

2

])

pri cemu oznaka [] predstavlja funkciju celog dela razlomljenog pozitivnog broja.Zapocetni piksel (koordinatni pocetak) izabran je najgornji levi piksel strukturnog ele-menta i njegove koordinate su (1, 1).Svi ostali pikseli strukturnog elementa izuzevcentralnog, a cija je vrednost jedan predstavljaju okolinu ulaznog piksela.

Pronalazenje centralnog piksela strukturnog elementa je znacajno u tome sto sestrukturni element na osnovu tako odredenog centralnog piksela postavlja preko ula-zne binarne slike tako da se centralni piksel strukturnog elementa poklopi sa zeljenimpikselom ulazne binarne slike za koji hocemo da odredimo odgovarajuci piksel u iz-laznoj binarnoj slici.Primenom operacije dilatacije na ulaznu sliku dobijamo izlaznusliku koja se formira sledecim postupkom.

Page 10: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

3 PREGLED MORFOLOSKIH OPERACIJA 10

Neki piksel izlazne slike ce imati vrednost jedan,ukoliko bar jedan piksel u oko-lini odgovarajuceg piksela u ulaznoj slici ima vrednost jedan,u suprotnom vrednostizlaznog piksela ce biti jednaka nuli.Pri cemu je okolina ulaznog piksela odredenapolozajem jedinica u strukturnom elementu.

Na sledecem primeru prikazacemo kako funkcionise operacija dilatacije u ma-tricnoj reprezentaciji za gore zadati dijagonalni strukturni element dimenzija 5× 5.Neka je ulazna binarna slika (matrica)

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 00 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 00 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Primenom operacije dilatacije sa gore zadatim struktunim elementom izalana bi-narna slika (matrica) dobija sledeci oblik

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 00 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 00 0 0 0 0 1 1 1 1 1 1 1 1 1 0 0 00 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 00 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 00 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 00 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

U narednih nekoliko primera prikazacemo kako operacije dilatacije deluje na binarnei gray-scale objekte.

Page 11: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

3 PREGLED MORFOLOSKIH OPERACIJA 11

Slika 3.5.Primena dilatacije na binarnu sliku

Kod u Matlab-u koji izvrsava dilataciju:

A=imread(’circbw.tif’);

S=ones(3);

figure;

imshow(A);

A1=imdilate(A,S);

figure;

imshow(A1);

3.2 Binarna erozija

3.2.1 Matematicka definicija

Binarna erozija smanjuje sliku uklanjajuci ivicne piksele objekta. Erozija slikeP strukturnim elementom Q se definise sa:

E (P,Q) = {r| (Q)r ⊆ P}

Drugim recima,erozija slike P strukturnim elementom Q je skup tacaka r koje za-dovoljavaju uslov da se sve tacke strukturnog elementa poklope sa tackama objekta(svetlim tackama slike), kad se strukturni element translira za r.Da bi prikazali mehanizam erozije koristicemo isti primer kao i kod dilatacije, odno-sno:

P = {(2, 2), (2, 3), (2, 4), (3, 2), (3, 3), (3, 4), (4, 2), (4, 3), (4, 4)}Q = {(0, 0), (0, 1)}

Erozija je skup svih elemenata (vektora) koji vrse translaciju strukturnog elementatako da se on preklopi sa svetlim pikselima slike(pikseli objekta).To znaci da nijeneophodno razmatrati sve translacije, vec samo one koje postavljaju koordinatnipocetak (ako on pripada strukturnom elementu) na poziciju jednog od elemenata A.Postoji devet takvih translacija:

(Q)(2,2) = {(2, 2), (2, 3)}

(Q)(2,3) = {(2, 3), (2, 4)}

Page 12: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

3 PREGLED MORFOLOSKIH OPERACIJA 12

(Q)(2,4) = {(2, 4), (2, 5)}(Q)(3,2) = {(3, 2), (3, 3)}(Q)(3,3) = {(3, 3), (3, 4)}(Q)(3,4) = {(3, 4), (3, 5)}(Q)(4,2) = {(4, 2), (4, 3)}(Q)(4,3) = {(4, 3), (4, 4)}(Q)(4,4) = {(4, 4), (4, 5)}

U sest slucajeva rezultujuci (translirani) skupovi su podskupovi od P,pa je rezultaterozije {(2, 2), (2, 3), (3, 2), (3, 3), (4, 2), (4, 3)}.U slucajevima kada strukturni element sadrzi koordinatni pocetak, rezultat erozijeje odskup originalne slike, a ako strukturni element ne sadrzi koordinatni pocetakto ne mora biti.

• • • • • • •• • • • • • •• • ◦ ◦ ◦ • •• • ◦ ◦ ◦ • •• • ◦ ◦ ◦ • •• • • • • • •• • • • • • •

Slika 3.6.Originalna slika

• • • • • • •• • • • • • •• • ◦ ◦ • • •• • ◦ ◦ • • •• • ◦ ◦ • • •• • • • • • •• • • • • • •

Slika 3.7.Slika dobijena erozijom originalne slikeOsim u specijalnim slicajevima erozija i dilatacija nisu inverzne operacije:

D (E (P,Q),Q) 6= P 6= E (D(P,Q),Q)

Ipak, erozija i dilatacija su na neki nacin dualne operacije. Princip dualnosti glasi:

DC(P,Q) = E(PC , Q)

EC(P,Q) = D(PC , Q)

Dakle, ako posmatramo P kao objekat, a PC kao pozadinu, poslednje relacije kazuda je komplement dilatacije objekta strukturnim elementom Q isto sto i erozija po-zadine reflektovanim strukturnim elementom Q , dok je komplement erozije objektaekvivalentan dilataciji pozadine reflektovanim strukturnim elementom.

Page 13: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

3 PREGLED MORFOLOSKIH OPERACIJA 13

3.2.2 Osobine erozije

Operacija erozije ima sledece osobine:

• AntikomutativnostE (P,Q) 6= E (Q,P)

• Invarijantnost na translaciju

E (P,Q+r) = Pª(Q + r

)=

(Pª Q

)+ r = E (P,Q) + r

Neophodno je navesti jos neke osobine dilatacije i erozije.Za proizvoljni strukturnielement Q i dva objekta slike P1 i P2 takva da je P1 ⊂ P2,vazi:

D (P1,Q) ⊂ D (P2,Q)

E (P1,Q) ⊂ E (P2,Q)

Za dva strukturna elementa Q1 i Q2 takva da je Q1 ⊂ Q2 vazi:

E (P,Q1) ⊃ E (P,Q2)

3.2.3 Erozija u Matlab-u

Erozija je morfoloska operacija koja stvara efekat ”suzavanja” ili ”tanjenja” pred-meta u digitalnoj slici. Nacin i oblik suzavanja pomenutih predmeta je kontrolisanoblikom tzv. strukturnog elementa.Strukturni element jeste matrica proizvoljnih di-menzija (ne vecih od dimenzija slike) sastavljena od nula i jedinica.

Neki piksel izlazne slike ce imati vrednost jedan,ukoliko svaki piksel u okoliniodgovarajuceg piksela u ulaznoj slici ima vrednost jedan,u suprotnom vrednost iz-laznog piksela ce biti jednaka nuli.Pri cemu je okolina ulaznog piksela odredenapolozajem jedinica u strukturnom elementu.

Sledeci primer pokazuje matricnu reprezentaciju operacije erozije,koristeci struk-turni element:

S =

111

Originalna slika je zadata kao:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 00 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 00 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Page 14: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

3 PREGLED MORFOLOSKIH OPERACIJA 14

Posle izvrsene erozije zadatim strukturnim elementom dobijamo sledecu sliku:

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Delovanje operacije erozije na binarne i gray-scale slike moze se ilustrovati korisce-njem Matlab-a,na sledeci nacin:

Slika 3.8.Primena erozije na binarnu sliku

A=imread(’circbw.tif’);

S=ones(3);

figure;

imshow(A);

A1=imerode(A,S);

figure;

imshow(A1);

3.3 Binarno otvaranje i zatvaranje

3.3.1 Definicija

Operacija u kojoj eroziju neposredno sledi dilatacija istim strukturnim elemen-tom naziva se otvaranje:

O (P,Q) = D (E (P,Q) ,Q)

Page 15: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

3 PREGLED MORFOLOSKIH OPERACIJA 15

Naziv operacije je opisnog karaktera, jer ova operacija nastoji da prosiri male otvoreili ukloni slabo povezane piksele. Slika prikazuje efekat otvaranja jednostavnimstrukturnim elementom na kolekciji sitnih objekata u cilju kidanja veza izmedu njih.Otvaranje se moze koristiti i za ukljanjanje suma. U sklopu operacije otvaranjaerozija ce ukloniti slabo povezane i rubne piksele objekata, dok ce dilatacija izvrsitirestauraciju rubnih piksela objekata bez restauracije suma.

Slika 3.9. Primena otvaranja na otklanjanje suma belih piksela

A=imread(’circlesm.tif’);

S=ones(3);

A1=imnoise(double(A),’salt & pepper’,0.02);

imshow(A1);

A2=imopen(A1,S);

figure;

imshow(A2);

Operacija zatvaranja je slicna operaciji otvaranja, s tim da se dilatacija izvodi prva,a zatim sledi erozija istim strukturnim elementom:

C (P,Q) = E (D (P,Q) ,Q)

Zatvaranje popunjava male procepe i izolovane piksele pozadine.Slika prikazuje ope-raciju zatvaranja na istoj slici na kojoj je vec izvedeno otvaranje u cilju eliminisanjasuma u vidu izolovanih piksela objekta. Zatvaranje je ukinulo i izolovane pikselepozadine.

Slika 3.10. Primena zatvaranja na otklanjanje suma crnih piksela

Page 16: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

3 PREGLED MORFOLOSKIH OPERACIJA 16

A=imread(’circlesm.tif’);

S=ones(3);

A1=imnoise(double(A),’salt & pepper’,0.02);

imshow(A1);

A2=imclose(A1,S);

figure;

imshow(A2);

3.3.2 Osobine

• Komplement zatvaranja objekta odgovara otvaranju pozadine istim struktur-nim elementom i obrnuto:

CC(P,Q) = E(PC ,Q)

OC(P,Q) = D(PC ,Q)

• TranslacijaO(P + r,Q) = O(P,Q) + r

C(P + r,Q) = C(P,Q) + r

• Za otvaranje strukturnim elementom Q slika P, P1 i P2 gde je P1 ⊆ P2,vazi:

– Antiekstenzivnost :O(P,Q) ⊆ P

– Monotoni porast :O(P1,Q) ⊆ O(P2,Q)

– Idempotentnost :O(O(P,Q),Q) = O(P,Q)

• Za zatvaranje strukturnim elementom Q slika P, P1 i P2 gde je P1 ⊆ P2,vazi:

– Antiekstenzivnost :C(P,Q) ⊇ P

– Monotoni porast :C(P1,Q) ⊆ C(P2,Q)

– Idempotentnost :C(C(P,Q),Q) = C(P,Q)

Page 17: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

3 PREGLED MORFOLOSKIH OPERACIJA 17

3.4 Ostale morfoloske operacije

Morfoloske operacije izuzev gore opisanih izvrsavaju se u Matlab-u koriscenjemnaredbe bwmorph,na sledeci nacin:

Output = bwmorph(Input, operation, n),

gde su ulazni parametri naredbe bwmorph:ulazna slika,operacija i broj izvrsenjazadate operacije.Ostale operacije koje se koriste u digitalnoj obradi slike su:

• Bothat(Bottom hat)Operacija formira izlaznu sliku oduzimanjem originalne slike od slike dobijenebinarnim zatvaranjem(dilatacija prethodi eroziji).

POUT = C(P,Q)−P

gde je Q odgovarajuci strukturni element.

• BridgeOperacija koja povezuje prethodno razdvojene piksele. Na primer:

1 0 01 0 10 0 1

1 0 01 1 10 0 1

• CleanOperacija koja uklanja izolovan piksel (jedinica okruzena nulama)

0 0 00 1 00 0 0

0 0 00 0 00 0 0

• DiagOperacija ”popunjava” dijagonalu i na taj nacin eliminise povezane elemente(8-connectivity) u pozadini.

0 1 01 0 00 0 0

0 1 01 1 00 0 0

• FillOperacija popunjava izolovan unutrasnji piksel (nula okruzena jedinicama),pricemu dolazi do promene njegove vrednosti:

1 1 11 0 11 1 1

1 1 11 1 11 1 1

Ova operacija je suprotna operaciji clean koja menja vrednost jedinici okru-zenoj svim nulama.

Page 18: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

3 PREGLED MORFOLOSKIH OPERACIJA 18

• HbreakOperacija uklanja H-povezanost piksela (veza u obliku latinicnog slova H) nataj nacin sto uklanja sredisni piksel u formaciji

1 1 10 1 01 1 1

1 1 10 0 01 1 1

• MajorityOperacija dodeljuje svim pikselima vrednost 1 ukoliko pet ili vise piksela ususedstvu dimenzije 3×3 imaju vrednost 1. U suprotnom svima dodeljujevrednost 0.

• RemoveOperacija dodeljuje vrednost 0 unutrasnjem pikselu ukoliko svi pikseli u nje-govom 4-povezanom susedstvu imaju vrednost 1.

1 1 01 1 10 1 0

1 1 01 0 10 1 0

• ShrinkOperacija primenjena veliki broj puta na objekat umanjuje njegovu velicinudo velicine piksela ukoliko on ne sadrzi supljine,u suprotnom formira sistempovezanih prstenova ukoliko objekat sadrzi supljine.Prstenovi mogu biti spojeni nizom piksela kao i svojim zidovima.

Slika 3.11. Predstavlja operaciju shrink

• SkelOperacija uklanja piksele po obodu objekta a ujedno ne dozvoljava da seobjekat podeli na delove. Tako jedinstvena celina u velikoj meri prestavljaosnovu(skelet) strukture, pa je na osnovu toga i sama operacija dobila ime.

Slika 3.12. Predstavlja operaciju skel

Page 19: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

3 PREGLED MORFOLOSKIH OPERACIJA 19

• SpurOperacija koja uklanja piksele koji se ”granaju” (izdvajaju se iz forme ostalihpiksela)

0 0 0 00 0 0 00 0 1 00 1 0 01 1 0 0

0 0 0 00 0 0 00 0 0 00 1 0 01 1 0 0

• ThickenOperacija vrsi dodavanje piksela oko postojeceg objekta sve dok prethodnonepovezani pikseli ne postanu 8-povezani pikseli.

Slika 3.13. Predstavlja operaciju thicken

• ThinOperacija pretvara objekte u linije(tanji objekte).Daje slicne rezultate kaooperacija shrink s tom razlikom sto zadrzava grane objekta ciji su krajevislobodni(ne zavrsavaju se prstenom tj.zatvorenom formom).

Slika 3.14. Predstavlja operaciju thin

• TophatOperacija formira izlaznu sliku oduzimanjem slike dobijene binarnim otvara-njem od originalne slike (original umanjen za binarno otvorenu sliku).

POUT = P−O(P,Q)

gde je Q odgovarajuci strukturni element.

Page 20: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

3 PREGLED MORFOLOSKIH OPERACIJA 20

3.5 Razlicite forme strukturnog elementa

Strukturni elementi koji se koriste u morfoloskim operacijama nad digitalnimslikama,formiraju se u Matlab-u koriscenjem naredbe strel,na sledeci nacin:

S = strel (shape, parameters) ,

gde naredba strel kao ulazne parametre prima oblik(shape) i njihove parametre(velicina,duzina,sirina,. . . ) strukturnog elementa.

Neki oblici strukturnih elemenata koji mogu biti korisceni u digitalnoj obradislike dati su u narednom pregledu.

• DiamondS = strel (′diamond′, R)

Prethodna naredba formira strukturni element oblika dijamanta,pri cemu pa-rametar R definise udaljenost ivicnih piksela od centralnog (sredisnjeg) piksela.Naredbom S = strel (′diamond′, 3),dobijamo:

S =

0 0 0 1 0 0 00 0 1 1 1 0 00 1 1 1 1 1 01 1 1 1 1 1 10 1 1 1 1 1 00 0 1 1 1 0 00 0 0 1 0 0 0

• DiskS = strel (′disk′, R)

Prethodna naredba formira strukturni element oblika diska,pri cemu para-metar R definise poluprecnik dobijenog strukturnog elementa. Naredba S =strel (′disk′, 4)daje:

S =

0 0 1 1 1 0 00 1 1 1 1 1 01 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 10 1 1 1 1 1 00 0 1 1 1 0 0

• LineS = strel (′line′, LEN, DEG)

Prethodna naredba formira strukturni element oblika linije, pri cemu para-metri LEN i DEG definisu redom duzinu i ugao (racunat u smeru suprot-nom kazaljci na satu od horizontalne ose) strukturnog elementa.NaredbomS = strel (′line′, 7, 30), dobijamo:

S =

0 0 0 0 0 1 10 0 1 1 1 0 01 1 0 0 0 0 0

Page 21: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

3 PREGLED MORFOLOSKIH OPERACIJA 21

• RectangleS = strel (′rectangle′,MN)

Prethodna naredba formira strukturni element oblika pravougaonika, pricemu parametar MN predstavlja vektor od dva elementa koji definisu dimen-zije pravougaonog strukturnog elementa.Naredbom S = strel (′rectangle′, [4, 6]), dobijamo:

S =

1 1 1 1 1 11 1 1 1 1 11 1 1 1 1 11 1 1 1 1 1

• SquareS = strel (′square′,W )

Prethodna naredba formira strukturni element oblika kvadrata, pri cemu pa-rametar W predstavlja dimenziju kvadratnog strukturnog elementa.NaredbomS = strel (′square′, 6), dobijamo:

S =

1 1 1 1 1 11 1 1 1 1 11 1 1 1 1 11 1 1 1 1 11 1 1 1 1 11 1 1 1 1 1

• OctagonS = strel (′octagon′, R)

Prethodna naredba formira strukturni element oblika osmougla, pri cemuparametar R predstavlja rastojanje od centra osmougla do bilo koje njegovevertikalne ili horizontalne stranice.Parametra R mora biti broj deljiv sa 3.Na-redbom S = strel (′octagon′, 3), dobijamo:

S =

0 0 1 1 1 0 00 1 1 1 1 1 01 1 1 1 1 1 11 1 1 1 1 1 11 1 1 1 1 1 10 1 1 1 1 1 00 0 1 1 1 0 0

Moze se primetiti da su strukturni elementi dobijeni naredbamaS = strel (′disk′, 4) i S = strel (′octagon′, 3) potpuno identicni.

Page 22: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

4 PRIMENA BINARNIH MORFOLOSKIH OPERACIJA 22

4 Primena binarnih morfoloskih operacija

4.1 Hit and Miss operacija

Hit and Miss je morfoloski operator dizajniran da locira jednostavne oblike naslici. Zasnovan je na eroziji sto je i prirodno,jer erozija slike P strukturnim ele-mentom Q1 sadrzi samo one piksele (lokacije) gde se Q1 sadrzi u P, tacnije onelokacije gde se jedinicni pikseli strukturnog elementa poklapaju sa jedinicnim pik-selima slike.To znaci da slika nastala erozijom sadrzi i one lokacije gde se pozadinastrukturnog elementa ne poklapa sa pozadinom slike. Ako zelimo odrediti lokacijegde se strukturni element u potpunosti poklapa sa slikom potrebno je odrediti po-zicije na koje treba translirati strukturni element tako da se i objekat i pozadinastrukturnog elementa poklope sa slikom.

Poklapanja objekta strukturnog elementa sa slikom nazivamo hit i odgovarajucelokacije se jednostavno dobiju erozijom slike tim strukturnim elementom. Za odre-divanje gde se pozadina strukturnog element poklapa sa pozadinom slike potrebnoje uraditi eroziju pozadine slike PC pozadinom strukturnog elementa QC

1 .Umestotoga,efikasnije je formirati novi strukturni element Q2 koji sadrzi piksele pozadinestrukturnog elementa Q1. Poklapanje pozadine strukturnog elementa Q1 sa pozadi-nom slike P oznaceno je kao miss i odreduje se erozijom pozadine slike strukturnimelementom Q2.

Dakle,operacije koja daje lokacije gde se strukturni element u potpunosti poklapasa slikom je:

HitMiss (P,Q1,Q2) = E (P,Q1) ∩ E(PC ,Q2

)

Da bismo u potpunosti razumeli hit-and-miss operaciju, pogledajmo sledeci pri-mer

P =

0 1 0 1 0 0 1 1 1 00 0 1 0 0 0 0 0 0 00 1 0 1 0 0 1 0 1 00 0 0 0 0 0 0 1 0 00 0 1 0 1 0 1 0 1 00 0 0 1 0 0 0 0 0 00 0 1 0 1 0 0 1 1 1

Posle definisanja originalne slike P, definisimo strukturne elemente Q1 i Q2.

Q1 =

1 0 10 1 01 0 1

; Q2 =

0 1 01 0 10 1 0

Izlaznu binarnu sliku dobijamo koristeci programski paket MATLAB:

Q1=strel([1 0 1;0 1 0;1 0 1]);

Q2=strel([1 0 1;0 1 0;1 0 1]);

PC=ones(size(P))-P;

E1=imerode(P,Q1);

E2=imerode(PC,Q2);

HM=E1.*E2

Page 23: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

4 PRIMENA BINARNIH MORFOLOSKIH OPERACIJA 23

Navedeni kod kao rezultat daje izlaznu sliku posle primene hit-and-miss operacije:

P =

0 0 0 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 1 0 00 0 0 0 0 0 0 0 0 00 0 0 1 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0

4.2 Odredivanje granica objekta

Pikseli na rubovima objekta su oni koji imaju najmanje jedan susedni pikselkoji pripada pozadini. Kako je moguce da to bude bilo koji susedni element, nijemoguce unapred odrediti koji od njih da se trazi, tj.nije moguce pronaci odgovarajucistrukturni element za eroziju ili dilataciju cijom primenom bi detektovali rubove.Erozija jednostavnim strukturnim elementom Q uklanje bas rubne piksele, te se tacinjenica moze iskoristiti za dizajniranje morfoloskog operatora za detekciju rubova:erozijom se uklone rubovi pa se tako dobivena slika oduzme od originala.Na taj nacinzadrzavamo samo rubne piksele.Formalno to mozemo zapisati sa:

POUT = P− E (P,Q)

U daljem tekstu prikazacemo kako se granice odreduju u Matlab-u:

Slika 4.1. Odredivanje ivica objekta

Kod koji resava problem odredivanja ivica objekta dat je u nekoliko sledecih redova:

P=imread(’circles.tif’);

Q=ones(3);

Pout=P-imerode(P,Q);

imshow(P);

figure;

imshow(Pout);

Ovaj metod se moze koristiti i u odredivanju ivica gray-scale objekata.U narednomprimeru videcemo kako se ovaj problem resava:

Page 24: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

4 PRIMENA BINARNIH MORFOLOSKIH OPERACIJA 24

Slika 4.2. Odredivanje ivica gray-scale objekata

P=imread(’ic.tif’);

Q=ones(3);

Pout=uint8(double(P)-double(imerode(P,Q)));

imshow(P);

figure;

imshow(Pout);

4.3 Popunjavanje unutrasnjosti objekata

Popunjavanje regiona je operacija suprotna izdvajanju rubova. Zelimo da popu-nimo region zadat svojim rubom i jednim pikselom unutar njega, tako da svi pikseliunutar regiona budu beli, i da pri tome ni jedan piksel van granica regiona ne posta-vimo na belo. Kako se proces uslovne dilatacije zaustavlja kad se objekat prosiri docrnih piksela,za mask sliku se bira komplement slike koja sadrzi ivicu regiona PC ,aseme je bilo koji piksel A unutar oblasti.Dilatacija se vrsi nekim od jednostavnihstrukturnih elemenata Q.

Operacija ispunjavanja oblasti definisana je kao:

Fill = D(A,

(Q,PC

))

Na kraju se izvrsi unija popunjenog regiona i ivice(granice oblasti).

Page 25: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

4 PRIMENA BINARNIH MORFOLOSKIH OPERACIJA 25

Slika 4.3. Popunjavanje unutrasnjosti objekta

Program u Matlab-u koji vrsi popunjavanje unutrasnjosti objekta dat je u sledecihnekoliko redova:

A=imread(’circles.tif’);

S=ones(3);

B=A-imerode(A,S);

C=imcomplement(B);

D=zeros(256);

D(80,80)=1;

figure;

imshow(B+imdilate(D,S));

P1=D;

P2=imdilate(D,S);

cnt=1;

while min(min(P1==P2))==0,

cnt=cnt+1;

P1=P2;

P2=C.*imdilate(P2,S);

if mod(cnt,40)==0

figure;

imshow(P2+B);

end

end

final=B+P2;

figure;

imshow(final);

Page 26: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

5 GRAY-SCALE MORFOLOGIJA 26

5 Gray-scale morfologija

Sve morfoloske operacije koje su primenjive nad crno-belim slikama mogu seprimenjivati i nad gray-scale slicama, izuzev operacije hit-and-miss.

5.1 Gray-scale dilatacija

Gray-scale dilatacija slike P strukturnim elementom Q, u oznaci P⊕Q, definisese kao

(P⊕Q) (x, y) = max{P (x− x′, y − y′) + Q (x′, y′) | (x′, y′) ∈ DQ

}

gde je DQ domen(oblast definisanosti) strukturnog elementa Q, a podrazumevana

vrednost P (x, y) izvan okvira(granice) slike iznosi −∞.Domen DQ predstavlja matrica 0 i 1, koja definise koja od lokacija iz okruzenja

se upotrebljava pri izracunavanju definisanog maksimuma.Odnosno, za proizvoljanuredeni par (x1, y1) iz domena DQ, suma P (x− x1, y − y1) + Q (x1, y1) bice uklju-

cena u odredivanje gray-scale dilatacije, jedino kada se u domenu DQ na odgova-

rajucem mestu nade vrednost 1. Svi ostali uredeni parovi tacaka kojima u matricidomena odgovara vrednost 0 nece biti uzeti u obzir pri izracunavanju maksimima.Ovaj postupak se primenjuje na svaki par tacaka iz domena.

Za svaki par tacaka (x′, y′) iz domena definise se vrednost Q (x′, y′), sto predsta-vlja svojevrsni “tezinski” faktor svake tacke domena.

Medutim, u praksi se najcesce koriste flat strukturni elementi, kod kojih u svakojtacki domena vazi

Q (x′, y′) = 0 za ∀ (x′, y′) ∈ DQ

sto u znacajnoj meri olaksava odredivanje gray-scale dilatacije, pomocu izmenjenepolazne formule

(P⊕Q) (x, y) = max{P (x− x′, y − y′) | (x′, y′) ∈ DQ

}

Bez obzira da li su strukturni elementi flat ili non-flat karaktera, za njihovogenerisanje u oba slucaja se koristi operacija strel u MATLAB-u, na sledeci nacin

• Non-flat strukrueni elementi−Definisu se pomocu naredbe strel u formi

strel (M1,M2)

gde matrice M1 i M2 redom predstavljaju:

1. Matrica M1 je matrica domena DQ (matrica 0 i 1), koja definise okolinu

tacke;

2. Matrica M2 je matrica tezinskih faktora, odnosno matrica koja sadrzivrednosti Q (x′, y′) za proizvoljan ureden par (x′, y′) iz domena.

Na primer, evo jednog non-flat strukturnog elementa definisanog u MATLAB-u pomocu naredbe strel

strel ([1 1 0] , [2 2 1])

Page 27: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

5 GRAY-SCALE MORFOLOGIJA 27

• Flat strukrueni elementi−Definisu se na identican nacin kao i u slucaju binarnih slika. Na primer evojednog strukturnog flat elementa

strel (′disk′, 4)

Da bismo u potpunosti shvatili kako funkcionise gray-scale dilatacija, videcemo nasledecem primeru u MATLAB-u:

Slika 5.1. Na slici je prikazana primena operacije dilatacije na gray-scale sliku

P=imread(’blood1.tif’);

imshow(P);

Q=strel(ones(3));

Pout1=imdilate(P,Q);

Pout2=imdilate(Pout1,Q);

figure;

imshow(Pout1);

figure;

imshow(Pout2);

Slika 5.2.Primena dilatacije na gray-scale sliku

B=imread(’nodules1.tif’);

S=ones(3);

figure;

imshow(B);

B1=imdilate(imdilate(B,S),S);

figure;

imshow(B1);

Page 28: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

5 GRAY-SCALE MORFOLOGIJA 28

Kada je u pitanju dilatacija gray-scale slike piksel u izlaznoj slici dobija maksimalnuvrednost koju imaju pikseli u susedstvu odgovarajuceg piksela ulazne(originalne)slike.

5.2 Gray-scale erozija

Gray-scale erozija slike P strukturnim elementom Q, u oznaci PªQ, definise sekao

(PªQ) (x, y) = min{P (x + x′, y + y′)−Q (x′, y′) | (x′, y′) ∈ DQ

}

gde je DQ domen(oblast definisanosti) strukturnog elementa Q, a podrazumevana

vrednost P (x, y) izvan okvira(granice) slike iznosi +∞.Kao i kod gray-scale dilatacije u praksi se cesce koristi gray-scale erozija pomocu

flat strukturnog elementa, na sledeci nacin:

(PªQ) (x, y) = min{P (x + x′, y + y′) | (x′, y′) ∈ DQ

}

Nacin formiranja struktornih elemenata, kao i njihovo koriscenje je gotovo iden-ticno njihovoj upotrebi u gray-scale dilataciji.

Slicno primeru za dilataciju navescemo jedan slican primer i za operaciju erozijeu MATLAB-u

Slika 5.3. Na slici je prikazana primena operacije erozije na gray-scale sliku

P=imread(’enamel.tif’);

imshow(P);

Q=strel(ones(3));

Pout1=imerode(imerode(P,Q),Q);

Pout2=imerode(imerode(Pout1,Q),Q);

figure;

imshow(Pout1);

figure;

imshow(Pout2);

Page 29: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

5 GRAY-SCALE MORFOLOGIJA 29

Slika 5.4. Primena erozije na gray-scale sliku

B=imread(’nodules1.tif’);

S=ones(3);

figure;

imshow(B);

B1=imerode(imerode(B,S),S);

figure;

imshow(B1);

5.3 Gray-scale otvaranje i zatvaranje

Operacije gray-scale otvaranja i zatvaranja su po svojoj definiciji potpuno jed-nake odgovarajucim morfoloskim operacijama nad binarnim slikama.

Zapravo ta veza izmedu opercija gray-scale otvaranja i zatvaranja, i operacijagray-scale dilatacije i erozije, kao osnovnih morfoloskih operacija, izgleda

P ◦Q = (PªQ)⊕Q = D (E (P,Q) ,Q)

P •Q = (P⊕Q)ªQ = E (D (P,Q) ,Q)

Na sledecim slikama bice ilustrovano dejstvo operacija gray-scale otvaranja i zatva-ranja nad binarnim slikama.

Slika 5.5. Originalna slika,gray-scale otvorena i gray-scale zatvorena slika

Operacije gray-scale otvaranja i zatvaranja mogu se kombinovati sto ilustruje sledeciprimer

Page 30: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

5 GRAY-SCALE MORFOLOGIJA 30

Slika 5.6. Kombinovanje gray-scale otvaranja i zatvaranja

P=imread(’blood1.tif’);

imshow(P);

Q=strel(’disk’,7);

***gray-scale otvaranje***

P1=imopen(P,Q);

figure;

imshow(P1);

***gray-scale zatvaranje***

P2=imclose(P,Q);

figure;

imshow(P2);

***kombinacija otvaranja i zatvaranja***

P3=imclose(P1,Q);

figure;

imshow(P3);

Kombinovanje gray-scale otvaranja i zatvaranja moze se vrsiti i u sekvenci (uza-stopno kombinovanje) operacija.

Slika 5.7. Uzastopno kombinovanje gray-scale otvaranja i zatvaranja

P=imread(’blood1.tif’);

imshow(P);

tek=P;

for r=3:7,

Q=strel(’disk’,r);

sled=imclose(imopen(tek,Q),Q);

tek=sled;

Page 31: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

5 GRAY-SCALE MORFOLOGIJA 31

end

figure;

imshow(tek);

5.4 Ostale gray-scale morfoloske operacije

Pored gore navedenih osnovnih i izvedenih morfoloskih operacija u upotrebi sujos neke izvedene morfoloske operacije o kojima ce biti reci u ovom delu. One sekoriste u nesto izmenjenom obliku u odnosu na njihovu upotrebu nad binarnimslikama.

• imtophat−Operacija formira izlaznu sliku oduzimanjem slike dobijene binarnim otva-ranjem od originalne slike (original umanjen za binarno otvorenu sliku).

POUT = P−O(P,Q)

gde je Q odgovarajuci strukturni element.

Slika 5.8. Operacija tophat

• imbothat−Operacija formira izlaznu sliku oduzimanjem originalne slike od slike dobi-jene binarnim zatvaranjem(dilatacija prethodi eroziji).

POUT = C(P,Q)−P

gde je Q odgovarajuci strukturni element.

Slika 5.9. Operacija bothat

Page 32: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

5 GRAY-SCALE MORFOLOGIJA 32

Odgovarajuci MATLAB kod za operacije tophat i bothat:

P=imread(’tire.tif’);

imshow(P);

Q=strel(ones(3));

PT=imtophat(P,Q);

figure;

imshow(PT);

PB=imbothat(P,Q);

figure;

imshow(PB);

Page 33: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

6 PRIMENA GRAY-SCALE MORFOLOSKIH OPERACIJA 33

6 Primena gray-scale morfoloskih operacija

6.1 Brisanje ivicnih objekata slike

Ova metoda se koristi u slucaju kada je objekat na slici znacajno svetliji odpozadine, a pri tom zelimo dodatno da ga izdvojimo iz pozadine tj. da potamnimopozadinu. Moramo voditi racuna da ova naredba ne funkcionise bas najbolje kada seobjekat nalazi uz samu ivicu slike. Naredba kojom se to izvrsava je imclearborder.

Na sledecoj slici je prikazan uticaj pomenute naredbe na digitalnu sliku.

Slika 6.1. Potamnjivanje pozadine gray-scale slike

P=imread(’bonemarr.tif’);

imshow(P);

P1=imclearborder(P);

figure;

imshow(P1);

6.2 Segmentacija slike

Uslovna dilatacija se cesto primenjuje pri segmentaciji slike. Odredivanje dobrogpraga za segmentaciju gray-scale slike moze biti veoma tesko, kao sto cemo kasnijevideti.Pri previsokom pragu (visok nivo sivila) izdvajamo samo one piksele koji si-gurno pripadaju objektu, ali ih je najcesce premalo. Pri niskom pragu ce i nekipikseli pozadine biti shvaceni kao pikseli koji pripadaju objektu. Koristeci uslovnudilataciju moguce je od dve lose segmantirane slike dobiti jednu dobro segmenti-ranu sliku. Slika se prvo segmentira visokim, a zatim niskim pragom. Zatim se vrsiuslovna dilatacija prve slike ali ne preko granica druge slike:

D (PH , (Q,PL))

Na kraju se primeni otvaranje za uklanjanje slabo vezanih rubnih piksela.Implementacija uslovne dilatacije je iterativna. Svaka dilatacija je pracena ma-

skiranjem (presekom) slikom koja sadrzi piksele izvan kojih nije dozvoljena dilatacija:

Pi+1 = D (Pi,Q) ∩PL

gde je P1 = PH (pocetna vrednost pri iteraciji). Postupak iteracije traje sve dok nepostane Pi+1 = Pi.

Page 34: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

6 PRIMENA GRAY-SCALE MORFOLOSKIH OPERACIJA 34

6.3 Rekonstrukcija slike

Postupak rekonstrukcije slike predstavlja iterativan postupak,gde se polazi oddela polazne slike i koristeci dilataciju u dovoljnom broju koraka stizemo do ze-ljene(rekonstruisane) slike. U MATLAB-u za rekonstrukciju se koristi naredba imre-construct.

Kao original uzecemo sliku

Slika 6.2. Originalna slika

Izvrsimo eroziju slike pomocu strukturnog elementa strel (′disk′, 6),i tada dobijamosliku

Slika 6.3. Slika dobijena erozijom originala

Od slike dobijene erozijom dobijamo rekonstruisanu sliku pomocu MATLAB naredbi

P=imread(’enamel.tif’);

imshow(P);

Q=strel(’disk’,6);

P1=imerode(P,Q);

figure;

imshow(P1);

P2=imreconstruct(P1,P);

figure;

imshow(P2);

Page 35: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

6 PRIMENA GRAY-SCALE MORFOLOSKIH OPERACIJA 35

Rekonstruisana slika izgleda

Slika 6.4. Rekonstruisana slika 1

Ovaj postupak se naziva rekonstrukcija otvaranjem. Rekonstruisana slika se mozepodvrgnuti rekonstrukciji zatvaranjem.

P=imread(’enamel.tif’);

imshow(P);

Q=strel(’disk’,6);

P1=imerode(P,Q);

figure;

imshow(P1);

P2=imreconstruct(P1,P);

figure;

imshow(P2);

P3=imcomplement(P2);

P4=imerode(P3,Q);

P5=imcomplement(imreconstruct(P4,P3));

figure;

imshow(P5);

Slika 6.5. Rekonstruisana slika 2

Page 36: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

7 ZAKLJUCAK 36

7 Zakljucak

Morfoloske operacije predstavljene u ovom radu cine jednostavan ali i veomamocan alat u digitalnoj obradi slike. Podjednako dobro se mogu koristiti u obradibinarnih i gray-scale digitalnih slika. Kao sto smo videli bez morfoloskih operacija jeprosto nezamisliva rekonstrukcija,segmentacija i jos mnoge jednostavnije ili slozenijeoperacije nad digitalnim slikama. Takode veoma je znacajna i upotreba pomenutihoperacija u kombinaciji sa drugim, nemorfoloskim operacijama u digitalnoj obradislike.

Page 37: Primena Morfoloskih Operacija u Digitalnoj Obradi Slike

LITERATURA 37

Literatura

[1] Rafael C. Gonzales, Steven L. Eddins, Richard E. Woods,Digital Image Processing using MATLAB, 3rd, Prentice Hall, 2003

[2] William K. Pratt, Digital Image Processing, 3rd, Wiley-Interscience, 2001