You are on page 1of 45

PREPOZNAVANJE OBLIKA

I OBRADA SLIKE
(PATTERN RECOGNITION

AND IMAGE PROCESSING, RIO POOS 4755 )

Doc. dr. Samir Omanovi, dipl.ing.el.

PREDAVANJE 5A
k.god. 2015/2016

TRANSFORMACIJE INTENZITETA I
Neke

osnovne funkcije
Linearna

(negativna i identina),

Logaritamska
Stepena

i inverzna stepena (n-ti stepen i n-ti korijen)

Funkcija

u vidu izlomljene linije

Razvlaenje
Sjeenje

i inverzna logaritamska,

kontrasta

intenziteta

Histogram
Ujednaavanje
Specificiranje
Lokalni

histograma

histograma

histogram

Upotreba

statistika histograma za poboljavanje slike

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

FILTRIRANJA

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA
Imaju oblik s=T(r).
Tri tipa koja se najee koriste u poboljavanjima slike:

linearna (negativna i identina),


logaritamska i inverzna logaritamska,
stepena i inverzna stepena (n-ti stepen i n-ti korijen).

Negativna transformacija se najee koristi pri isticanju bijelih i


svijetlo-sivih regiona okruenih tamnim regionima. Ima oblik s =
L-1-r, gdje je r[0,L-1].
Logaritamska transformacija se koristi da se smanji broj nijansi
svijetlog a povea tamnog. Obrnuto je kod inverzne logaritamske
transformacije. Ima oblik: s = clog(1+r), gdje je c konstanta a
r0.
Stepena transformacija se koristi slino kao i logaritamska, s tim
da ona smanjuje broj nijansi tamnog i poveava svijetlog.
Inverzna stepena ima obrnut efekat.
Ima oblik s = cr ili s = c (r+), gdje su c i pozitivne
konstante.

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA

Izlazni nivo intenziteta (s)

Negativn
Negativna
a

Log

n-ti
n-ti
korije
korijen
n

s = c(r+)
m-ti
stepen

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

s = L-1-r

oblik s=T(r)

s = clog(1+r)
Identite
Identitet
t

Inverzni
log

Ulazni nivo intenziteta (r)

Sve krive su
preskalirane da bi se
4
uklopile u domen!

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA
s = L-1-r
Prepoznavanje oblika i obrada slike,
k.god.2015/2016

Rezultat je
poboljana
slika koja je
puno vie
prilagoena
naem vidu.
5

Originalni digitalni
mamogram

Slika nakon primjene


negativne transformacije

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA

s = clog(1+r)

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Fourierov spektar

Slika nakon primjene log


transformacije sa c=1

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA

Matlab primjer transformacije:


Uitati grayscale sliku:
moon = imread('moon.tif');
imshow(moon);

Kreirati negativ:
moon1 = 255-moon;
imshow(moon1);
50

50

100

100

150

150

200

200

250

250

300

300

350

350

400

400

450

450

500

500

50

100

150

200

250

300

350

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

50

100

150

200

250

300

350

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Dosta ureaja za akviziciju, printanje i prikaz slike, zbog svojih


unutranjih transformacija, izazivaju greke na slikama koje se
mogu korigovati upotrebom stepene transformacije. Ovo se
najee naziva gama korekcija zbog parametra gama koji se
koristi u stepenoj transformaciji.
Npr. katodna cijev (CRT) ima ovaj efekat, pri emu se gama
nalazi u rasponu 1,8 2,5. To u praksi znai da prikazuju slike
koje su tamnije nego u stvarnosti.

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA

Izlazni nivo intenziteta (s)

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Crtei krive s =
cr za razliite
vrijednosti pri
emu je c=1.

Sve krive su
preskalirane da bi se
9
uklopile u domen!
Ulazni nivo intenziteta (r)

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA
Matlab primjer transformacije:

Uitati grayscale sliku:


moon = imread('moon.tif');
imshow(moon);

Kreirati gama transform. i primijetiti saturaciju na slici kada je


> 1:
moon2 =
cast(round(cast(moon,'double').^(0.8)),'uint8');
moon3 =
cast(round(cast(moon,'double').^(1.1)),'uint8');
imshow(moon2); imshow(moon3);
moon2

moon

moon3

50

50

50

100

100

100

150

150

150

200

200

200

250

0.8

250

1.1

300

350

350

350

400

400

400

450

450

500

500

100

150

200

250

300

350

Saturacija

250

300

50

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

300

10

450

500

50

100

150

200

250

300

350

50

100

150

200

250

300

350

=2.5

NEKE OSNOVNE
FUNKCIJE ZA
TRANSFORMACIJU
INTENZITETA

Gama
korekcija

Originalna slika
prikazana na monitoru

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Originalna
slika

11
Slika nakon
gama korekcije

Gama korigovana slika


prikazana na monitoru

Slika magnetne
rezonance loma kime

Rezultat stepene
transformacije
sa c=1 i =0.6

NEKE OSNOVNE
FUNKCIJE ZA
TRANSFORMACIJU
INTENZITETA

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Originalna slika je tamna pa


su zbog toga odabrane
transformacije kojima bi se
ista posvijetlila.

12
Rezultat stepene
transformacije
sa c=1 i =0.4

Rezultat stepene
transformacije
sa c=1 i =0.3

Slika iz aviona

Rezultat stepene
transformacije
sa c=1 i =3.0

NEKE OSNOVNE
FUNKCIJE ZA
TRANSFORMACIJU
INTENZITETA

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Originalna slika je svijetla


pa su zbog toga odabrane
transformacije kojima bi se
ista potamnila.
13
Rezultat stepene transformacije
sa c=1 i =4.0

Rezultat stepene transformacije


sa c=1 i =5.0

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA
Matlab primjer gama korekcije:

Uitati sliku:
[X,map] = imread('forest.tif');
imshow(X,map)

Konvertovati u gray-scale:
I = ind2gray(X,map);

Kreirati gama transformaciju (=0.5) i primijeniti je:


J = imadjust(I,[],[],0.5);
figure, imshow(I), figure, imshow(J)

Original

Nakon gama
korekcije

Grayscale

50

50

50

100

100

100

150

150

150

200

200

200

250

250

250

300

300

50

100

150

200

250

300

350

400

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

14

300
50

100

150

200

250

300

350

400

50

100

150

200

250

300

350

400

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA

U primjeru desno,
broj 5 u mrei piksela
znai da se uzme 5-ta
boja u mapi boja.

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Indexed image objanjenje: Indexed image se sastoji od mree piksela


i matrice sa mapom boja (colormap matrix). U prethodnom primjera, a
to je i konvencija, X predstavlja mreu piksela, a map matricu sa
mapom boja (odvojeno za tri komponentne boje R, G i B, u rasponu
[0,1]).

15

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Osim pomenutih tipova transformacija postoje i


transformacije u kojima je funkcija u vidu izlomljene
linije
(piecewise-linear
transformation
function).
Prednost upotrebe ovakvih funkcija za transformaciju su
vee mogunosti, ali je mana tea specifikacija istih.
Razvlaenje kontrasta (contrast stretching) je jedna
od situacija gdje se ovakve funkcije upotrebljavaju. Radi
se razvlaenje raspona intenziteta slike tako da se
upotrijebi puni raspon intenziteta medija na koji se slika
snima ili ureaja na kome se slika prikazuje.
Izlazni nivo intenziteta (s)

IZLOMLJENA
LINIJA
16

Ulazni nivo intenziteta (r)

Transformaciona
funkcija

Originalna slika slabog


kontrasta (polen snimljen
elektronskim mikroskopom
sa uveanjem od oko 700x)

NEKE OSNOVNE
FUNKCIJE ZA
TRANSFORMACIJU

Izlazni nivo intenziteta (s)

INTENZITETA

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Na slici je prikazana
funkcija u vidu izlomljene
linije, pri emu je za r1=s1
i r2=s2 ona linearna i
nema nikakav efekat na
intenzitet sivog. Za r1=r2,
s1=0 i s2=L-1 se ona
pretvara u funkciju praga
(threshold function) to
sliku pretvori u crnobijelu. Za sve ostale
meuvrijednosti se
dobivaju slike sa
razliitim kontrastima.

Ulazni nivo intenziteta (r)

17
Rezultat razvlaenja
kontrasta

Rezultat primjene
funkcije praga

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA

Matlab primjer za contrast stretch:


Uitati grayscale sliku:
I = imread('pout.tif');

Funkcijom stretchlim se odredi donja i gornja granica


intenziteta, koju ova funkcija vrati kao vektor LOW_HIGH sa
dvije vrijednosti.
L = stretchlim(I);
J = imadjust(I,L,[]);
Poslije
imshow(I), figure, imshow(J)

Prije

50

50

100

100

150

150

200

200

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

18
250

250

50

100

150

200

50

100

150

200

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Sjeenje intenziteta (intensity-level slicing) je isticanje


specifinih raspona intenziteta.
Primjenjuje se dosta kod poboljavanja satelitskih i
rendgenskih snimaka.
Jedan pristup je generisanje crno-bijele slike, a drugi
pristup je da se samo interesantno podruje intenziteta
postavi na neku boju a ostalo ostavi kakvo jeste.

19
Naglaava se raspon intenziteta
[A,B] a ostali se reduciraju na
nisku vrijednost.

Naglaava se raspon
intenziteta [A,B] a
ostali se ouvavaju.

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Angiogram aorte

Rezultat primjene sjeenja


intenziteta naglaava se jedan
raspon intenziteta a reduciraju se
ostali.

Rezultat primjene sjeenja


intenziteta naglaava se jedan
raspon intenziteta a ouvavaju se
ostali.
20

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Sjeenje na nivou bita (bit-plane slicing). Intenzitet je


predstavljen nizom bita pa je mogue mijenjati uticaj bita
na pojedinim pozicijama.
Pojedine pozicije bita ne moraju imati veliki znaaj za sliku
pa se ovakve analize koriste kada se razmatra kompresija
slike npr. ili restauracija slike iz poznatih bita.
U ovakvim operacijama, manje znaajni biti imaju manji
uticaj jer niz bita predstavlja broj koji odreuje intenzitet
boje, a manje znaajni biti imaju manji uticaj na broj.
Na slikama koje slijede vidimo dekompoziciju slike koja
je u 8 nijansi sivog i restauraciju slike. Sa slika
dekompozicije se vidi da je najvie informacije ouvano sa
pozicijom najznaajnijeg bita. Sa slika integracije se vidi da
upotrebom vie nivoa se dobiva bolja slika. Upotrebom
samo slojeva 8 i 7 se slika formira na nain da se intenzitet
rauna kao bit8x128+bit7x64.

21

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA
Jedan bajt (8
bita)

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Ploha bita 8
(najznaajnija)

Ploha bita 1
(najmanje
znaajna)

22

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA
2

8-bitna siva slika veliine 500x1192 piksela i povrine pojedinih bita (od 1 do 8)

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

23

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA

Da li se primijete
razlike?

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Rekonstrukcija slike:
-koristei povrine 8 i 7 bita
-koristei povrine 8, 7 i 6 bita
-koristei povrine 8, 7, 6 i 5 bita

24

NEKE OSNOVNE FUNKCIJE


ZA TRANSFORMACIJU INTENZITETA

Matlab primjer transformacije:


Uitati grayscale sliku:
moon = imread('moon.tif');
imshow(moon);

Uzeti neki od bita kao sloj koji elimo prikazati:


moon1 = bitand(moon,bin2dec(01000000'));
imshow(moon1);

50

50

100

100

150

150

200

200

250

250

300

300

350

350

400

400

450

25

450

500

500
50

100

150

200

250

300

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

350

50

100

150

200

250

300

350

HISTOGRAM

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Histogram digitalne slike iji su intenziteti u rasponu


[0,L-1] je diskretna funkcija h(rk) = nk, gdje je rk k-ti
intenzitet a nk je broj piksela na slici koji imaju
intenzitet rk.
Uobiajena je praksa da se koristi normalizovani
histogram koji glasi: p(rk) = rk/MN. Na taj nain
formirani p(rk) predstavlja vjerovatnou pojave
intenziteta rk na slici.
Histogram je osnova za razne obrade slike. Jednostavno
se rauna pa se esto koristi u sistemima u realnom
vremenu.

26

HISTOGRAM

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

4 osnovne vrste slika:


-tamna
-svijetla
-slab kontrast
-visok kontrast
i njihovi odgovarajui
histogrami.

27

HISTOGRAM

s T ( r ) ( L 1) pr ( w)dw

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Ujednaavanje histograma (histogram equalization).


Razliite nivoe intenziteta na slici moemo posmatrati kao
sluajne varijable u rasponu [0,L-1]. Osnovni nain opisa
sluajnih varijabli je preko funkcije raspodjele
vjerovatnoe (probability density function).
Neka imamo pr(r) i ps(s) funkcije raspodjela vjerovatnoe za
sluajne varijable r i s. Iz teorije vjerovatnoe imamo da,
ako nam je poznato pr(r) i T(r), pri emu je T(r) kontinualna
i diferencijabilna u rasponu vrijednosti koji posmatramo,
onda se raspodjela vjerovatnie transformisane varijable s
moe dobiti kao: ps(s) = pr(r)|dr/ds|.
Posebno je znaajna sljedea transformacija:

gdje je desni
vjerovatnoe.

dio

kumulativ

funkcije

raspodjele
28

HISTOGRAM

Dalje moemo dobiti:

( L 1) pr ( r )
dr
1
p s ( s ) pr ( r )
pr ( r )
ds
( L 1) pr ( r )
1

L 1

0 s L 1

odakle se vidi da je ps(s) u obliku uniformne raspodjele


vjerovatnoe, bez obzira na T(r) i pr(r).

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

ds dT ( r )
d

( L 1) pr ( w)dw
dr
dr
dr 0

29

HISTOGRAM

Proizvoljna funkcija
raspodjele vjerovatnoe.

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Prethodna
formua

Rezultat transformacije na sve nivoe


intenziteta r. Rezultujui intenziteti s imaju
uniformnu funkciju raspodjele
vjerovatnoe bez obzira na oblik funkcije
30
raspodjele vjerovatnoe r-ova.

HISTOGRAM

U sluaju diskretnih vrijednosti se umjesto integrala


koristi suma pa je formula u obliku:

sk T ( rk ) ( L 1) pr ( rj )
j 0

( L 1) k

nj

MN j 0

k 0,1,2,..., L 1

Dakle, transformacijom je ulazna slika pretvorena


u izlaznu mapiranjem svakog ulaznog piksela sa
intenzitetom rk u izlazni piksel sa intenzitetom sk.
Navedena
transformacija
T(rk)
se
naziva
ujednaavanje histograma (histogram equalization;
histogram linearization).

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

31

Raspodjela intenziteta i
vrijednosti histograma
za 3-bitnu sliku (64x64).

HISTOGRAM
0

j 0
1

s1 T ( r1 ) (8 1) pr ( rj ) 1,33 1,75 3,08 3


j 0

...

Originalni
histogram

Transformaciona
funkcija

Ujednaeni
histogram

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

s0 T ( r0 ) (8 1) pr ( rj ) 1,33 1

32

HISTOGRAM

Matlab primjer transformacije:


J = histeq(I);

2000
3000

1800
1600

2500

imshow(I)

figure, imshow(J)

1400
2000

1200
1000

1500

800

figure; imhist(I,64)

1000

600
400

500

figure; imhist(J,64)

200
0

0
0

50

100

150

200

250

50

50

100

100

150

150

50

100

150

200

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

I = imread('tire.tif');

250

33
200

200
50

100

150

200

50

100

150

200

HISTOGRAM
Na prethodno opisani nain se
ujednaavaju intenziteti piksela.
Prepoznavanje oblika i obrada slike,
k.god.2015/2016

Inverzna transformacija iz s u r je:


rk = T-1(sk), gdje je k=0,1,2,...,L-1

U primjeru na slici vidimo


konkretnu primjenu (lijeva kolona
polazne slike, srednja kolona slike
dobivene
ujednaavanjem
histograma i desna kolona
histogrami slika u srednjoj koloni),
s tim da je uoljivo da primjena na
sliku koja ve ima intenzitete u
cijelom rasponu nema znaajnog
efekta.

Primjetno je da slike imaju razliite


34
konane histograme, iako vizuelno
izgledaju vrlo slino.

HISTOGRAM

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Specificiranje histograma (histogram matching;


histogram specification). Mada je ujednaavanje
histograma vrlo korisna transformacija za poboljavanje
slike koja se jednostavno realizuje, ponekad je potrebno
eksplicitno specificirati histogram.
Na prvom primjeru koji slijedi vidimo nain
izraunavanja prema specificiranoj raspodjeli, a na
drugom primjeru vidimo jednu konkretnu primjenu.

35

HISTOGRAM
Specificirani i
stvarni histogram

Specificirani
histogram

Histogram
3-bitne
slike

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Rezultujui
histogram

Transformaciona
funkcija dobivena
iz specificiranog
histograma

s0 G ( z0 ) (8 1) p z ( z j ) 0,00 0
j 0

s1 0,00 0
s2 0,00 0
3

s3 G ( z3 ) (8 1) p z ( z j )
j 0

7( 0,00 0,00 0,00 0,17) 1,05 1


...

36

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Broj piksela (x 104)

HISTOGRAM
Slika Marsovog
mjeseca Phobos

37

Intenzitet

Funkcija
transformacije

Broj piksela (x 104)

Ulazni intenzitet

Histogram
rezultujue
slike

Rezultujua slika dobivena


ujednaavanjem histograma

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Izlazni intenzitet

HISTOGRAM

38

Intenzitet

Broj piksela (x 104)

Specificirani
histogram

HISTOGRAM

Transformacije

Broj piksela (x 104)

Ulazni intenzitet

Poboljana slika
dobivena koristei
mapiranje preko
krive (2)
isprekidana linija

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Izlazni intenzitet

Intenzitet

Histogram
poboljane
slike

39

Intenzitet

HISTOGRAM
Matlab primjer transformacije:

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

I = imread('tire.tif');
% Zadani hist.
hi1 = [zeros(10,1); max(hi(10:size(hi,1))-250,0)];

J = histeq(I, hi1);
imshow(I)
figure, imshow(J)

50

50

100

100

150

150

200

200
50

100

150

200

40
50

100

150

200

HISTOGRAM

1
m
MN

M 1 N 1

1

MN
2

f ( x, y )
x 0 y 0

M 1 N 1

f ( x, y ) m

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Lokalni histogram. Prethodno opisane primjene


histograma su globalne i pogodne su za sveukupno
poboljavanje slike. Ponekad je potrebno poboljati detalje
na manjim podrujima slike.
Upotreba statistika histograma za poboljavanje
slike. Prosjean intenzitet i varijansa se na jednostavan
nain mogu izraunati direktno iz slike:

x 0 y 0

Postoje dvije primjene statistika. Na globalnom nivou se


koriste globalni prosjek i globalna varijansa, a na
lokalnom nivou se koristi lokalni prosjek i lokalna
varijansa.

41

HISTOGRAM

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Originalna slika

Globalno ujednaavanje histograma

Lokalno ujednaavanje histograma

Uoiti na zadnjoj slici simbole u malim kvadratima,


koji na prethodne dvije slike nisu uoljivi.

42

HISTOGRAM

Uoiti na zadnjoj slici vie detalja u


odnosu na prethodne dvije slike.

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

Originalna slika
(tungestenska arna nit,
elektronski mikroskop 130x)

Globalno ujednaavanje histograma

43

Poboljanje na bazi statistika


lokalnog histograma.

PITANJA ZA PONAVALJANJE GRADIVA I


PRIPREMU ISPITA
ta su stepene transformacije i emu slue?

2.

ta je histogram i emu slui?

3.

ta je specificiranje histograma i emu slui?

4.

ta je lokalni histogram i emu slui?

5.

Pojasniti kako se vri ujednaavanje intenziteta preko histograma?

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

1.

44

KORITENO U PRIPREMI OVE PREZENTACIJE


Gonzales R., Woods R., Digital Image Processing, 3rd Edition, PrenticeHall, New-Jersey, USA, 2008

2.

MATLAB 2009a Help

Prepoznavanje oblika i obrada slike,


k.god.2015/2016

1.

45

You might also like