Professional Documents
Culture Documents
Fakultet elektrotehnike
Tehnički odgoj i informatika
Seminarski rad
Obrada digitalne slike
Tuzla,februar.2021
Sadržaj
Uvod....................................................................................................................................... 3
Matlab (uvod)......................................................................................................................... 4
Import image file................................................................................................................... 5
Metoda množenja i dijeljenja slika.......................................................................................6
Gamma transformacija......................................................................................................... 9
Histogram............................................................................................................................ 14
Histogrami slika u boji.......................................................................................................16
Transformacije histograma................................................................................................17
Promjena histograma primjenom rastezanja kontrasta...................................................19
Ekvivalizacija histograma....................................................................................................24
Zaključak...............................................................................................................................30
Literatura...............................................................................................................................31
Uvod
Moj zadatak je bio da pronađem sliku koja je snimljena noću ili tokom
kiše,magle,smanjene vidljivosti,koja ima slabiji kontrast,izražen šum,
deformacije,te su objekti na njoj slabije vidljivi.
3
Matlab (uvod)
< K=imabadiff(A,B);
< subplot(1,3,3)
< imshow(K)
< K=imultiply(B,1.5);
< subplot(1,2,1),
< imshow(B);
< subplot(1,2,2)
< imshow(K);
Množenje i dijeljenje slika(rezultat)
a.)orginalna slika
Gama korekcija
Primjer 1
< I=imread(“fog.jpg“);
< subplot(2,2,1),imshow( I )
< Id = im2double ( I )
< Io1 = 2*(Id. ^0.5);
< Io2 = 2*(Id. ^1.5);
< Io3 = 2*(Id. ^3.0);
subplot(2,2,2), imshow(Io1)
subplot(2,2,3), imshow(Io2)
subplot(2,2,4), imshow(Io3)
Gamma transformacija (dobijena slika primjenom gamma transformacije)
Gamma transformacija (primjer 2)
< I=imread(“image.jpg“);
< subplot(2,2,1),imshow( I )
< Id = im2double ( I )
< Io1 = 2*(Id. ^0.5);
< Io2 = 2*(Id. ^1.5);
< Io3 = 2*(Id. ^3.0);
subplot(2,2,2), imshow(Io1)
subplot(2,2,3), imshow(Io2)
subplot(2,2,4), imshow(Io3)
Gamma transformacija (dobijeni slika primjenom gamma transformacije)
Histogram
U slikama svaki piksel je opisan jednom nijansom sive bojom, gdje 0 znači crnu, a
255 bijelu. Međutim siva boja se u digitalnom obliku
pohranjuje kao kombinacija crvene, zelene i plave, ali tako da sve 3 boje uvijek
imaju istu vrijednost osvjetljenja. Tako kombinacija 0R+0G+0B predstavlja crnu,
127R+127G+127B sivu u sredini skale, a 255R+255G+255B bijelu boju. To
zapravo znači da su svi histogrami prikazani u prethodnom poglavlju također
RGB histogrami, kao i oni koje dobijemo iz slike za koje kažemo da su ''u boji''.
RGB histogrami je najčešće korišteni histogram.
Histogram po boji može prikazati 3 odvojena histograma za svaku boju, a
RGB histogram će biti kompozicija ova 3 histograma. RGB histogram nastaje
tako da prvo odredimo tri nezavisna histograma po bojama, koje zatim spajamo u
jedan nezavisno o tome koja je boja došla od kojeg piksela.
Ovo će biti puno jasnije ako pogledamo sliku 6., na kojoj je prikazana originalna
slika, te odgovarajući histogrami (R, G, B i RGB).
Transformacije histograma
Slike se pohranjuju kao matrica piksela, pri ćemu su vrijednosti piksela u rasponu od
0 do 255 ako je koriđteno 8 bita za pohranu pojedinačnih vrijednosti
piksela. Ove vrijednosti piksela odreduju svjetlinu prikazane slike pomoću
tzv. look-up tabele (LUT) prikaza. Vrijednosti piksela su adrese u look-up
tabeli i korištene su za nalaženje informacija o nivou sive (svjetlini) za dati
piksel, koja se zatim šalje na monitor i koristi se predstavljanje tog piksela
na ekranu. U slučaju default look-up tabele, vrijednosti piksela 0 odgovara
0-ti nivo sive (crna), vrijednosti piksela 255 daje 255-ti nivo sive (bijela), i
tako dalje. Look-up tabela može biti prikazana grafički kao prikaz ulaznih
6vrijednosti piksela duž x-ose naspram izlaznog nivoa sive (idući od crne do
bijele) na y-osi, ili kao vertikalni prozor sivih nivoa.
Look-up tabela mapira vrijednosti piksela i može biti korištena za različit
prikaz slike, promjenom distribucije vrijednosti piksela u različite distribucije
sivih vrijednosti bez promjene pohranjenih vrijednosti piksela. Ovaj proces
može biti opisan funkcijom mapiranja g = M (a)
gdje su a i g pohranjene vrijednosti piksela i prikazani nivoi sive, respektivno.
Oblik funkcije mapiranja M odreduje efekat operacije.
Kao što se može uočiti, transformacija slike pomoću look-up tabele predstavlja
operaciju nad tačkama, s obzirom da vrijednost izlaznog piksela ovisi samo od
njene odgovarajuće ulazne vrijednosti.
Postoji veliki broj mogučih transformacija gray-level histograma koje
mogu biti implementirane pomoću look-up tabela.
Svjetlina i kontrast slike može biti promijenjen primjenom odgovaraju´ce look-up
tabele
Poboljšanje slike putem histograma
(contrast streching)
Histogram slike može biti korišten i za tzv. rastezanje kontrasta ili rastezanje
histograma (takode poznato i kao normalizacija) koje se izvodi modifikovanjem
vrijednosti piksela tako da je cijelo raspoloživo područje vrijednosti u potpunosti
pokriveno. Ovo se izvodi mapiranje trenutno najtamnije i najsvjetlije vrijednosti
piksela u najnižu i najvišu raspoloživu vrijednost intenziteta, respektivno, uz linearno
distribuiranje vrijednosti izmedu.
Da bi semoglo izvesti ovo rastezanje kontrasta potrebno je poznavati gornju a i
donju b granicu vrijednosti piksela za koje je potrebno normalizirati sliku. Ove granice
su obiˇčno gornja i donja granica podruˇcja kvantizacije piksela, tj. za 8-bitnu sliku, a
= 255 i b = 0. U najjednostavnijem obliku, prvi dio operacije razvlačenja histograma
predstavlja skeniranje ulazne slike s ciljem nalaženja maksimalne i minimalne
vrijednosti piksela, označenih sa c i d,respektivno. Na osnovu ove četiri vrijednosti
moguće je odrediti linearno razvlačenje histograma pomoću sljedeće jednačine:
a−b
I izlazno(i,j) =(I ulazno(i,j)-c +a
c−d
< A =imread(‚fog.jpg');
<Acs = imadjust(A, stretchlim(A,
[0.05 0.95]),[]);
< subplot(2,2,1), imshow(A);
< subplot(2,2,2), imshow(Acs);
< subplot(2,2,3), imhist(A);
< subplot(2,2,4), imhist(Acs);
Dobijena slika primjenom rastezanja kontrasta
< A =imread(‚image.jpg');
<Acs = imadjust(A, stretchlim(A,
[0.05 0.95]),[]);
< subplot(2,2,1), imshow(A);
< subplot(2,2,2), imshow(Acs);
< subplot(2,2,3), imhist(A);
< subplot(2,2,4), imhist(Acs);
Dobijena slika primjenom rastezanja kontrasta
a.)orginalna slika
A=imread(“fog.jpg“);
< Aeq=histeq(A);
< subplot(2,2,1), imshow(A);
< subplot(2,2,2), imshow(Aeq);
< subplot(2,2,3), imhist(A);
< subplot(2,2,4), imhist(Aeq);
Ekvivalizavija histograma
(rezultat)
a.)orginalna slika
a.)orginalna slika
1. https://www.mathworks.com/products/matlab.html
2. http://www.mikroknjiga.rs/store/prikaz.php?ref=86-7466-272-2
3. http://download.tutoriali.org/Tutorials/Matlab/Osnove_MATLAB-a.pdf
4. Digitalna obrada slike-Igor Đurović
5. https://www.tutorialspoint.com/matlab/matlab_functions.htm31