Professional Documents
Culture Documents
Seminar Ski
Seminar Ski
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 )
x[ m, n]
1
4 2
X (
, n )e j ( mm nn ) d m dn
G X ( m , n ) k log[1| X ( m , n )|]
Ili
G X ( m , n ) k | X ( m , n )|1 4
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
J = imnoise(I,'gaussian', 0, 0.02);
Gauss-ov um
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.
N 1
C[ k ]
1
x[m, n] MN
1 2,
1,
[ k ]
1 2,
1,
[ l ]
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 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
Spektar DCT-a
Colormap DCT-a
Impulsni um
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
Filtrirana slika
Filtrirana slika
Filtrirana slika
Bandpass filter:
Propusnik frekvencija, normalizovane frekvencije 0.1 do 0.5
Originalna slika
Originalna slika
Bandstop filter:
Nepropusik frekvencija
Originalna slika
Originalna slika
Lowpass filter:
Niskopropusi filter
Originalna slika
Originalna slika
Slika sa impulsnim sumom
Slika
sa impulsnim
Metod prozora
impulsni
um sumom
Highpass filter:
Visokopropusni filter
Originalna slika
Originalna slika
Restaurirana slika
Originalna slika
Impulsni sum
Restaurirana slika
Gaussov sum
Restaurirana slika
Originalna slika
Gaussov sum
Restaurirana slika
Originalna slika
Impuslni sum
Restaurirana slika
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
Originalna slika
Impulsni sum
Gauss-ov sum
Gauss-ov sum
Histogram
1000
500
0
0
Vise detalja
100
200
Manje detalja
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 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: