Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 35

FAKULTET ELEKTROTEHNIKE

TEHNIKA INFORMATIKA
2014./15.
OBRADA I ANALIZA DIGITALNE SLIKE
PROFESOR: Dr.Sc. Naser Prljaa, red. Prof.

SEMINARSKI RAD

Mirza Omerki
Demir Kovaevi

Zadaci:
1. Linearne diskretne transformacije digitalne slike (2DFT, 2DCT) te njihova
evaluacija na digitalnim slikama razlicitih scena (natural, man made). Koristiti
orginalne slike i slike kontamirane sa Gausovim, impulsnim (salt and pepper)
i Gausovim+impulsnim sumom. Koristiti MATLAB funkcije (fft2(), dct2(),
imnoise()).
Diskretna Furijeova transforamcija omoguava razlaganje proizvoljnog
diskretnog signala u sinusoidalne komponente razliitih uestanosti. Zavisno od toga da li
je u prostornom domenu signal periodian ili ne, njegov spektar e imati diskretnu ili
kontinualnu prirodu. Pored osnovne primjene u spektralnoj analizi signala, Furijeova
transformacija ima i niz drugih primjena, kojima je naroito doprinijelo postojanje
efikasnih algoritama za izraunavanje Diskretne Furijeove transformacije.
Po analogiji sa diskretnim jednodimenzionalnim signalima, Furijeova
transformacija diskretnog dvodimenzionalnog signala x[m, n] definie se izrazom:
X ( m , n )

x[m, n]e j (m

m n

m n n )

dok je inverzna Furijeova transformacija funkcije X ( m , n ) definisana izrazom:


.

x[ m, n]

1
4 2

X (

, n )e j ( mm nn ) d m dn

Furijeova transformacija dvodimenzionalnog signala (slike) se najee izraunava u


opsegu uestanosti 0 m , n 2 . U sluaju da je potrebno prikazati amplitudski (ili
fazni) spektar kao sliku podrazumeva se da je koordinatni poetak u lijevom gornjem
uglu slike. Tako izraunata Furijeova transformacija se naziva standardna.
Ovakav prikaz spektra nije pogodan za uoavanje bitnih karakteristika spektra, jer su
uestanosti koje odgovaraju niskofrekventnom dijelu spektra koncentrisane oko uglova
slike spektra. U praksi se mnogo ee koristi optika Furijeova transformacija, koja se
dobija cirkularnim pomjerajem standardne Furijeove transformacije za po obje ose
uestanosti, tako da se koordinatni poetak pomjera u centar slike spektra.
Korienjem relacije e jmm e jnn x[m, n] X ( m m , n n ) , pomjeraj u
frekventnom domenu lako se moe pokazati da se optika Furijeova transformacija moe
dobiti standardnom Furijeovom transformacijom slike koja se dobija mnoenjem svakog
piksela slike x[m, n] sa ( 1) m n .
Drugi problem koji se pojavljuje u grafikom prikazu amplitudskog spektra je to
je raspon vrijednosti Furijeovih koeficijenata daleko vei od raspona vrijednosti piksela
slike. Zbog toga e vei dio spektra slike biti prikazan crnom bojom. Da bi se bolje uoile
osobine amplitudskog spektra, prije grafikog prikaza je potrebno izvriti nelinearnu
transformaciju spektra slike na takav nain da se istaknu male a potisnu velike amplitude.
Najee se primenjuju transformacije:

G X ( m , n ) k log[1| X ( m , n )|]
Ili

G X ( m , n ) k | X ( m , n )|1 4

gde se konstanta k bira tako da Furijeovom koeficijentu najvee amplitude odgovara


najvei dozvoljeni intenzitet piksela.
DFT se obino definie za diskretnu funkciju f(m,n) koja je nenulta samo na konanoj
oblasti 0 m M 1 i 0 n N 1. Dvodimenzionalna MxN DFT i inverzna MxN
DFT date su:

Vrijednosti F(p,q) su DFT koeficijenti od f(m,n). Koeficijent frekvencije nula, F(0,0)


naziva se DC komponenta.
Kako Furijeva transforamcija utie na sliku kako originalnu tako i sliku kontaminiranu
Gauss-ovim i impulsnim umom pokazujemo u naredno m-fajlu I priloenim slikama sa
komentarima:
f = zeros(30,30);
f(1:30,1:4:30) = 1;
figure(1)
imshow(f,'notruesize')
F = fft2(f);
F2 = log(abs(F));
figure(2)
imshow(F2,[-1 5],'notruesize'); %colormap(jet); colorbar
%Koeficijenti za nultu frekvenciju jo uvijek su prikazani u gornjem
%lijevom uglu umjesto u centru. Ovo se moe promijeniti koritenjem
%funkcije fftshift, koja mijenja kvadrante od F tako da koeficijenti
%nulte frekvencije budu u centru.
F_ = fft2(f,256,256);
F2_ = fftshift(F_);
figure(3)
imshow(log(abs(F2_)),[-1 5]); %colormap(jet); colorbar
f2 = ifft2(F_);
figure(4)
imshow(f2,'notruesize'); %rekonstrukcija originale slike

1a.
1b.
Slika 1. Binarna slika(nijanse crne i bijele) 1a. i njena amplitudna
karakteristika (DFT slike shiftovan- nulta frekvencija u sredini) 1b.

2a.

2b.

2c.
2d.
Slika 2. 2a originalna slika, 2b fft2 slike nulta frekvencija u sredini, 2c fft2 nulta
frekvencija u uglovima slike, 2d colormap ffshift-a
Slike kontaminirane impulsnim i Gauss-ovim umom
J = imnoise(I,'salt & pepper', 0.02);

Impulsni um

DFT sa impulsnim umom

J = imnoise(I,'gaussian', 0, 0.02);

Gauss-ov um

DFT sa Gauss-ovim umom

Slike koje predstavljaju sloene prirodne ili vjetake scene imaju i sloeniji spektar. U
principu slike prirodnih scena imaju izraeniji niskofrekventni dio spektra, jer su nagle
promjene intenziteta rijetke na takvim slikama. Slike vjetakih objekata, slike generisane
programima za raunarsku grafiku i razne test slike imaju izraenije ivice, pa prema tome
i vie izraen visokofrekventni dio spektra.

Diskretna kosinusna transformacija:

Osobine dobrog pakovanja energije

N 1

C[ k ]

1
x[m, n] MN

1 2,
1,

[ k ]

1 2,
1,

[ l ]

2 x[n] cos 2 N k (2n 1),


n 0

M 1 N 1

0,

0 k N 1,
ostalo.

k (2m 1)
l (2n 1)
cos
, 0 m M 1, 0 n N 1,
2M
2N
0,
drugde.

[ k ][l ]C[ k , l ]cos

k 0

l 0

k 0,
1 k M 1.
l 0,
1 l N 1.

Primjer sa DCT-om
I = imread('cameraman.tif');
I = im2double(I);
T = dctmtx(8);
B = blkproc(I,[8 8],'P1*x*P2',T,T');
mask =[ 1 1 1 1 0 1 1 1
1 1 1 0 0 0 0 0
1 1 0 0 0 0 0 0
1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0];
B2 = blkproc(B,[8 8],'P1.*x',mask);
I2 = blkproc(B2,[8 8],'P1*x*P2',T',T);
imshow(I), figure, imshow(I2)

Originalna slika

Kompresovana slika DCT-om

Spektar DCT-a

Colormap DCT-a

Slike sa impulsnim i Gauss-ovim umom:

Impulsni um

DCT sa impulsnim umom

Gauss-ov um
DCT sa Gauss-ovim umom
2. Linearno (glacanje, izostravanje) i nelinearno (median, alfa-trim) filtriranje
digitalne slike u prostornom domenu te njihova evaluacija na digitalnim slikama
razlicitih scena. Koristiti orginalne slike i slike kontamirane sa Gausovim, impulsnim

(salt and pepper) i Gausovim+impulsnim sumom. Koristiti MATLAB funkcije


(fspecial(), imnoise(), imfilter()).
Linerano filtriranje:
Filtriranje je tehnika modificiranja ili poboljavanja kvaliteta slike. Npr., slika se moe
filtrirati da se istakne odreena osobina ili ukloni druga osobina. Operacije
implementirane filtriranjem slike ukljuuju izotravanje, glaanje i isticanje ivica.
Filtriranje je operacija nad susjednim pikselima, u kojoj se za vrijednost bilo kojeg
piksela izlazne slike odreuje primjenom nekog algoritma na vrijednosti piksela u
susjedstvu. Susjedstvo nekog piksela odreeno je relativno njihovom lokacijom od datog
piksela. Na slici nie je prikazan segment slike i susjedstva veliine 3x3 piksela.
U toku izvoenja operacija nad graninim pikselima vri se dopunjavanje nulama
(zero padding).
Konvolucija
Linearno filtriranje slike se izvodi operacijom koja se naziva konvolucija.
Konvolucija je operacija nad susjedima u kojoj je izlaz faktorizirana suma teinskim
koeficijentima susjednih piksela. Matrica teinskih koeficijenata naziva se
konvolucijski kernel, takoe poznat pod nazivom filter. Konvolucijski kernel je
korelacijski kernel rotiran za 180 stepeni. Konvolucija nad slikom je 2D operacija te
moramo koristiti matlab funkciju conv2. Ova funkcija je direktna formalna
implementacija jednaine za 2D konvoluciju u prostornoj formi.
Pored konvolucije koristimo se operacijom korelacije, operacijom dodavanja graninih
vrijednosti(dopunjavanje nulama) kao i predefinisanim tipovima filtera.
Konvolucija usrednjavanje, najea upotreba za eliminaciju Gauss-ovog uma
Original slika

Original slika sa impulsnim sumom

Filtrirana slika

Filtrirana slika sa impulsnim sumom

Original slika sa Gauss-ovim sumom

Filtrirana slika sa Gaussovim sumom

Median filter namijenjen za eliminaciju svakog uma i minimalno zamuuje sliku


medfilt2(I)Original slika

Original slika sa Gauss-ovim sumom

Filtrirana slika median filterom

Filtrirana slika

Original slika sa impulsnim sumom

Filtrirana slika

3. Linearno filtriranje digitalne slike u frekventnom domenu ( lowpass, highpass,


bandpass i bandstop) te njihova evaluacija na slikama razliitih scena. Koristiti
orginalne slike i slike kontamirane sa Gausovim, impulsnim (salt and pepper)
i Gausovim impulsnim umom.

U frekventnom domenu postoje tri vrste filtriranja: standardno linearno, korjensko,


homomorfno. Potrebno je dizajnirati navedne vrste filtera. Filter kojima se sluimo zovu
se FIR (Finite Impulse Respone) fliteri sa konanim impulsnim odzivom sa dobrim
karakteristikama faze koja je linerna i ne uvodi distorziju u slici. FIR filteri ne mogu biti
nestabilni, jednostavni su za realizaciju jer su kauzalni. Jedini problem je veliki broj
koeficijenata za izraunati da bih se postigao isti efekat sa IIR filterima, filterima da
beskonanim impulsnim odzivom. FIR filtri se realizuju najee na dva naina:
metodom uzorkovanja u frekventnom domenu i metodom prozora.
Niskopropusni filteri uklanjaju visokofrekventni um, visokofrekventni filteri
istiu ivice slike dok kod pojasnopropusnih filtera pravimo kompromis u uklanjanju
umova i isticanju ivica.
2D FIR filteri, koje emo mi koristiti, su prirodno proirenje jednodimenzionih filtera.
U nastavku metodom uzorkovanja u frekventnom domenu i koritenjem funkcije
fsamp2, kao i metodom prozora i koritenjem funkcije fwind2 dizajnirati emo filtere:
close all
[f1,f2] = freqspace(21,'meshgrid');
Hd = ones(size(f1));
r = sqrt(f1.^2 + f2.^2);
Hd((r<0.1) | (r>0.5)) = 0;
h = fsamp2(Hd);
%h = fwind2(Hd,hamming(11));
figure(1), title('2D frekventni odziv bandpass filtera')
freqz2(h);
I = imread('cameraman.tif');
J = imnoise(I,'gaussian',0, 0.02);
I1 = imfilter(I,h);
I2 = imfilter(J,h);
figure(2), title('Bandpass filter')
subplot(221), imshow(I), title('Originalna slika')
subplot(222), imshow(I1), title('Filtrirana originalna slika')
subplot(223), imshow(J), title('Slika sa Gauss-ovim sumom')
subplot(224), imshow(I2), title('Filtriran Gauss-ov sum')

Bandpass filter:
Propusnik frekvencija, normalizovane frekvencije 0.1 do 0.5

Metod uzorkovanja u frekventnom domenu Gauss-ov um


Originalna slika

Filtrirana originalna slika

Originalna slika

Filtrirana originalna slika

Slika sa Gauss-ovim sumom

Filtriran Gauss-ov sum

Slika sa Gauss-ovim sumom

Filtriran Gauss-ov sum

Metod prozora Gauss-ov um

Metod uzorkovanja u frekventnom domenu impulsni um


Originalna slika

Originalna slika

Slika sa impulsnim sumom

Slika sa impulsnim sumom

Metod prozora impulsni um

Filtrirana originalna slika

Filtrirana originalna slika

Filtriran impulsni sum

Filtriran impulsni sum

Bandstop filter:
Nepropusik frekvencija

Originalna slika

Filtrirana originalna slika

Slika sa impulsnim sumom

Filtriran impulsni sum

Metod uzorkovanja u frekventnom domenu impulsni um

Metod prozora impulsni um


Originalna slika

Filtrirana originalna slika

Originalna slika

Filtrirana originalna slika

Slika sa impulsnim sumom

Filtriran impulsni sum

Slika sa Gauss-ovim sumom

Filtriran Gauss-ov sum

Metod uzorkovanja u frekventnom domenu Gauss-ov um

Metod prozora Gauss-ov um


Originalna slika

Filtrirana originalna slika

Slika sa Gauss-ovim sumom

Filtriran Gauss-ov sum

Lowpass filter:
Niskopropusi filter

Metod uzorkovanja u frekventnom domenu Gauss-ov um


Originalna slika

Filtrirana originalna slika

Originalna slika

Filtrirana originalna slika

Slika sa Gauss-ovim sumom

Filtriran Gauss-ov sum

Slika sa Gauss-ovim sumom

Filtriran Gauss-ov sum

Metod prozora Gauss-ov um

Metod uzorkovanja u frekventnom domenu impulsni um


Originalna slika

Originalna slika
Slika sa impulsnim sumom

Slika
sa impulsnim
Metod prozora
impulsni
um sumom

Filtrirana originalna slika

Filtrirana originalna slika


Filtriran impulsni sum

Filtriran impulsni sum

Highpass filter:
Visokopropusni filter

Originalna slika

Filtrirana originalna slika

Slika sa impulsnim sumom


Filtriran impulsni sum
Metod uzorkovanja
u frekventom domenu impuslni um

Metod prozora impulsni um


Originalna slika

Filtrirana originalna slika

Originalna slika

Filtrirana originalna slika

Slika sa impulsnim sumom

Filtriran impulsni sum

Slika sa Gauss-ovim sumom

Filtriran Gauss-ov sum

Metod uzorkovanja u frekventnom domenu Gauss-ov um

Metod prozora Gauss-ov um


Originalna slika

Filtrirana originalna slika

Slika sa Gauss-ovim sumom

Filtriran Gauss-ov sum

Zakljuak : Niskoprosini filteri dobro uklanjaju Gauss-ov um jer rade njegovo


usrednjavaje, dok visokofrekventni filteri prevenstveno slue za detekciju ivica, a filteri
pojasnopropusni rade kompromis izmeu te dvije stvari. Metod prozora se najee

koristi kada je slabljenje filtera u propusnom i nepropusnom dijelu jednako. Metod


uzorkovanja u frekventnom domenu je metod koji dozvoljava primjenu rekurzivnih i
nerekurzivnih filtera pri emu su naroito znaajni rekurzivni jer je nihova efikasnost
vana pri raunarskom proranu koeficijenata. Ukratko, rekurzivni pristup je veoma
ekonomian.
4. Restauracija slike. Orginalnu sliku degradirati sa poznatom degradacijom
(Gausov kernel, kernel kretanja), te izvrsiti restauraciju degradirane orginalne
slike i degradirane slike sa aditivnim Gausovskim sumom, koristenjem
inverznog, pseudo inverznog i Wiener-ovog filtra. Koristiti MATLAB funkcije
(fspecial(), imnoise(), deconvwnr()).
Zamuenje, ili degradacija slike moe biti uzrok mnogih faktora:
a. Kretanje dok se uzorkuje slika, zbog kretanja kamere, ili dugog vremena
ekspozicije, ili kretanjem objekta.
b. Defekusirane optike (soiva), koritenje irokougaonih lea, atmosferske
turbulencije, ili kratkog vremena ekspozicije, to smanjuje broj uhvaenih
fotona svjetlosti na senzoru.
Zamuena/degradirana slika moe se aproksimativno opisati jednainom
g Hf n
Gdje je:
g zamuena slika
H operator distorzije, takoe nazvan funkcija raspravanja take (PSF pointspread
function) Ova funkcija konvolucijom sa stvarnom slikom kreira degradiranu
sliku
f orginalna slika
n aditivni um, nastao usljed akvizicije slike
PSF u prostornom domenu, opisuje stepen kojim optiki sistem zamuuje (raspruje)
taku svjetlosti. PSF je inverzna FFT od prijenosne funkcije optikog sistema (OTF
Optical transfer function). M fajl kojim se sluimo je:
I = imread('cameraman.tif');
figure;imshow(I);title('Originalna slika');
LEN = 31; % vrijeme ekspozicije
THETA = 11; %ugao
PSF = fspecial('motion',LEN,THETA);
Originalna slika
Zamucena islika
%PSF = fspecial('gaussian',
[10 10], 2); velicina kernela
varijansa
Blurred = imfilter(I,PSF,'circular','conv');
figure; imshow(Blurred);title('Zamucena slika');
[R K]=deconvreg(Blurred,PSF,2);
figure(3),imshow(R);title('Restaurirana slika');

Zamucena slika Gaussian kernel

Restaurirana slika

Originalna slika

Impulsni sum

Zamucena slika Gaussian kernel

Restaurirana slika

Restauracija slike zamuene Gaussovim kernelom i impulsnim umom


Originalna slika

Gaussov sum

Zamucena slika Gaussov kernel

Restaurirana slika

Restauracija slike zamuene Gaussovim kernelom i Gaussovim umom

Originalna slika

Gaussov sum

Zamucena slika kernel kretanja

Restaurirana slika

Originalna slika

Impuslni sum

Zamucena slika kernel kretanja

Restaurirana slika

5. Evaluacija opste poznatih detektora ivica na slikama razlicitih scena. Koristiti


orginalne slike i slike kontamirane sa dodatnim aditivnim Gausovskim i
impulsnim umom. Koristiti MATLAB funkcije imnoise(), edge()).

Detektori ivica su kolekcija veoma vanih lokalnih metoda predobrade slike koji se
koriste za lociranje promjena intenziteta. Ivica su take gdje se ova funkcija
(osvijetljenost) mijenja grubo. Izraunavanje ivica opisuju promjene kontinualne funkcije
koristei izvode; funkcija koja opisuje sliku sa dvije varijable koordinate u ravni slike
tako da su operatori koji opisuju ivice izraeni koristei parcijane izvode. Promjena
funkcije koja opisuje sliku moe se opisati gradientom koji pokazuje u smjeru veeg rasta
funkcije slike.
Ivica je osobina dodijeljena pojedinoj taci i izraunava se iz ponaanja funkcije u
susjednim takama posmatrane take. To jevektorska varijabla sa dvije komponente,
intenzitetom i smjerom. Operatori za detekciju ivica koji koriste konvolcione maske su :
Laplace, Prewitt, Sobel, Canny.
close all
I = imread('cameraman.tif');
J = imnoise(I,'gaussian',0, 0.02);
BW1 = edge(I,'sobel');
BW2 = edge(J,'sobel');
subplot(221),imshow(I),title('Originalna slika')
subplot(222),imshow(BW1),title('Ivice originalne slike')
subplot(223),imshow(J),title('Gauss-ov sum')
subplot(224),imshow(BW2),title('Ivice slike sa sumom')

Originalna slika

Ivice originalne slike

Originalna slika
Impulsni sum

Ivice originalne slike


Ivice slike sa sumom

Gauss-ov sum

Ivice slike sa sumom

Canny optimalni operator baziran na tri kriterija:


Originalna slika

Ivice originalne slike

Gauss-ov sum

Ivice slike sa sumom

6. Segmentacija razlicitih slike koristenjem praga. Prag odrediti manuelno


analizom histograma slike i automatski koristenjem MATLAB funkcije
graythresh(). Zatim izvrsiti labeliranje (bojenje) povezanih komponenti
segmentirane slike koristenjem MATLAB funkcije bwlabel().

U segmentaciji, objekti u slici koji se dodiruju treba podijeliti u odvojene objekte.


Segmentacija je jedan dosta vaan korak u obradi podataka u slici. Njen glavni cilj je
podijeliti sliku u dijelove koji imaju vrstu korelaciju sa objektima ili oblastima realnog
svijeta sadranog u slici podaci od interesa. Moemo ciljati na kompletnu segmentaciju
koja rezultira u skup disjunktnih regija korespondirajui jednostavno sa objektima u
ulaznoj slici, ili parcijalnu segmentaciju u kojoj regije ne korenspondiraju direktno sa
objektima.
close all
I = imread('cameraman.tif');
subplot(221),imshow(I);title('Originalna slika')
subplot(222),imhist(I);title('Histogram')
T1 = 127; T2 = 150;
G1 = I < T1;
G2 = I < T2;
%optimalni prag
Topt=0.5*(G1+G2);
subplot(223),imshow(G1);title('Vise detalja')
subplot(224),imshow(G2);title('Manje detalja')
Originalna slika

Histogram
1000

500

0
0
Vise detalja

100

200

Manje detalja

Vieznanost podataka slike je jedan od glavnih problema segmentacije, esto uz um.


Metodi segmentacije se mogu podijeliti u tri grupe u skladu sa karakteristikama domena
gdje se koriste: Prva je globalno znanje o slici i njenim dijelovima, znanje je obino

predstavljeno u obliku histograma karakteristika slike. Segmentacija bazirana na ivicama


je iz druge grupe, i segmentacija bazirana na regiji je trea.
Gray-level tresholding (postavljanje praga u sivoj slici) je najjednostavniji proces
segmentacije. Mnogi objekti i regije karakteristini su po konstantnoj refleksiji ili
apsorpciji svjetla njihove povrine.
Ako se objekti meusobno ne dodiruju, i ako je njihov nivo osvijetljenosti jasno odvojen
od osvijetljenosti pozadine, tresholding je pogodna metoda segmentacije.
Izbor korektnog praga je krucijalan za uspjenu segmentacijum izbor moe iti
interaktivan ili moe biti rezultat nekog metoda detekcije praga.
Segmentacija koritenjem varijabilnog praga (nazvana takoe i adaptivni tresholding),
u kojoj vrijednost praga varira preko slike kao funkcija lokalnih karakteristika i moe
prevazii probleme neuniformne raspodijeljenosti svjetla, neuniformnih karakteristika
ulaznog ureaja ili brojnih faktora.
Kompleksnije metode tresholda su bazirane na analizi oblika histograma. Ako slika sadri
objekte aproksimativno istog nivoa osvijetljenosti koji se razlikuje od pozadine
rezultirajui histogram je bi-modal. Take objekta su iz jednog vrha dok su take
pozadine iz drugog. Izabrani treshold treba da zadovolji kriterijum minimalne greke
segmentacije na osnovu ovoga se moe zakljuiti da je optimalni prag minimalna
vrijednost u histogramu izmeu dva maksimuma. Ako je histogram multi-modal vie
pragova se moe odrediti u minimumima izmeu izmeu susjedna dva maksimuma.

7. Evaluirati osnovne i napredne algoritme matematicke morfologije u obradi slike


tj.: eroziju, dilataciju, otvaranje, zatvaranje, stanjivanje, skeletonizacija, itd.
Koristiti MATLAB funkcije (strel(), imerode(), imdilate(), imopen(), imclose(),
bwmorph()).

Erozija
Erodirana slika se moe dobiti koritenjem funkcije imerode( ).
Kao parametre prosljeujemo originalnu sliku, te morfoloki element koji smo kreirali s
funkcijom strel( ).
Erozijom moemo izvojiti neke predmete sa slike za dalju analizu na osnovu strukturnog
elmenta. Na sljedeoj slici nalaze se rezultat izvoenja matlab koda, odnosno nalaze se
segmentirana slika, te erozirana slika:

Dilatacija
Dilatacija slike predstavlja obrnuti postupak od erodiranja slike. Implementacija dilatacije
se neznatno razlikuje od implementacije erozije, i sve to je u kodu potrebno izmijeniti je
da se umjesto imerode( ) funkcije pozove funkcija imdilate( ).
Na sljedeoj slici nalaze se rezultat izvoenja matlab koda, odnosno nalaze se
segmentiranaslika, te dilatirana slika:

Otvaranje slike

Otvaranje slike predstavlja kombinovanje prethodne dvije operacije i daje isti efekat kao
da smo na slici prvo izvrili eroziju, a zatim i dilataciju. Svrha operacije otvaranja je da
nakon izdvajanja objektima se vrati prvobitni oblik. U ovom sluaju koristimo
funkciju imopen( ).
Na sljedeoj slici nalaze se rezultat izvoenja matlab koda, odnosno nalaze se
segmentiranaslika, te slika nakon otvaranja:

Zatvaranje slike
Zatvaranje slike je operacija suprotna otvaranju slike, tj. zatvaranje ima isti efekat kao da
se na sliku prvo primijeni dilatacija, a zatim erozija.U kodu sada samo koristimo funkciju
imclose( ) .
Na sljedeoj slici nalaze se rezultat izvoenja matlab koda, odnosno nalaze se
segmentirana slika, te slika nakon zatvaranja:

Skeletonizacija slike

Skeletonizacija je proces u kojem se objekti na slici istanjuju do debljine jedne linije bez
uticaja na strukturu same slike.
Za ovaj postupak koristimo funkciju bwmorph( ) u koju kao parametar prosljeujemo
operaciju koju elimo da izvrimo (u naem sluaju skeletonizaciju), te sliku na kojoj
vrimo morfoloku operaciju
Originalna slika je prikazana na sljedeoj slici:

Na sljedeoj slici nalaze se rezultat izvoenja matlab koda, odnosno nalaze se


segmentirana slika, te slika nakon skeletonizacije:

8. Primjena morfologije u granulometriji. Izvriti procjenu funkcije gustine


distribucije granula (estica) u digitalnoj slici. (Prema primjeru 8.5 pp. 207-209,
u knjizi autora Chris Solomon koja Vam je poslata)

Morfoloka analiza je skup algoritama za analizu slike baziranih na oblicima. Za analizu


slika se koriste strukturni elementi koji se primjenjuju na ulaznu sliku. Da bi morfolgija
dala korisne rezultate ulazna slika bi trebala biti u black, white odnosno gray scale obliku.
Pokazati emo neke osnovne operacije morfologije na slikama. Sa funkcijom strel( ) se
kreira strukturni element kojim emo vriti morfologiju (moe biti krug, linija,...), zatim
emo ve ugraenim funkcijama vriti redom razliite morfologije. To emo ilustrirati na
sljedeem primjeru:

Ponavljajui eroziju i brojanjem objekata procjenjujemo raspodjelu estica:


a) izvorna slika, b) binarna slika c) procijenjena kumulativna distribucija, d) funckija
gustoe.
Matlab kod koji smo koristili:
bw = imread('text.png');
%Read in binary image
se1 = strel('square',4)
%4 by 4 square
se2 = strel('line',5,45)
%line, length 5, angle 45 degrees
bw 1 = imdilate(bw,se1);
%Dilate image
bw 2 = merode(bw,se2);
%Erode image
subplot(1,2,1), imshow(bw 1);
%Display dilated image
subplot(1,2,2), imshow(bw 2);
%Display eroded image
9. Razviti program (algoritam) za prepoznavanje i lokalizaciju nedodirujucih
predmeta na montaznoj traci. Moguci predmeti su kvadrati, istostranini
trouglovi i krugovi razliitih dimenzija. (Izreite od papira trouglove, kvadrate i

krugove, poloite ih na tamnu podlogu i uzmite njihovu sliku). Koristiti MATLAB


funkcije, graythresh(), bwlabel(), regionprops() i klasifikator najmanjeg
rastojanja.
Rezultati algoritma
Dati algoritam testiran je na sljedeoj slici:

Na datoj slici se nalaze razliiti nedodirujui objekti, pri emu je potrebno datim
algoritmom izdvojiti objekte od interesa, te prikazati odreene informacije vezane za njih.
Na sljedeoj slici prikazan je rezultat izvravanja algoritma:

Algoritam za prepoznavanje i lokalizaciju nedodirujuih objekata na montanoj traci,


daje ukupan broj objekata na traci, pronalazi objekte od interesa,te koristeu matlab
funkciju regionprops(), mjeri niz osobina objekata u binarnoj slici, te podatke o poloaju i
uglu svakog objekta od interesa prikazuje, to je prikazano na slici u desnom dijelu.
U lijevom dijelu slike predstavljene su dimenzije objekata od interesa, koje je mogue
korisniki definisati.

You might also like