You are on page 1of 15

Univerzitet u Tuzli – Mašinski fakultet –Mašinska vizija Školska 2011/2012

MAŠINSKA VIZIJA
Filteri u Matlab IPT

Dr. Salko Ćosić

Tuzla, april 2012

1
Univerzitet u Tuzli – Mašinski fakultet –Mašinska vizija Školska 2011/2012

Pojedinačne operacije na pikselu: g(x,y)=T[f(x,y)] linearna ransformacija – linearni filteri


Filtriranje: popravka slike (izoštravanje ili izglađivanje), uklanjanje šuma, detekcija ivica.

 Procesiranje na osnovu susjednih vrijednosti ili prostorno filtriranje


 Modifikacija originalnog intenziteta na lokaciji (x,y) na osnovu vrijednosti intenziteta na
lokacijama u susjedstvu piksela (x,y).
 Maska, filter, susjedstvo, jezgro...

Maska – različiti oblici, neparan broj piksela


Filter= kombinacija maske i funkcije transformacije

2
Univerzitet u Tuzli – Mašinski fakultet –Mašinska vizija Školska 2011/2012

Linearni filter: nova vrijednost funkcije intenziteta (nivoa, boje) piksela je linearna kombinacija
vrijednosti svih piksela koji ulaze u masku.

primjena filtera: denoising (uklanjanje aditivnog šuma koji je zahvatio sliku, uklanjanje detalja koji
otežavaju prepoznavanje kontura, pojačavanje kontrasta

3
Univerzitet u Tuzli – Mašinski fakultet –Mašinska vizija Školska 2011/2012

Slika sa šumom: g(x,y)=f(x,y)+ε(x,y)


Ako je šum nulte srednje vrijednosti:

Usrednjavanje smanjuje broj detalja i olakšava binarizaciju tj. segmentaciju

4
Univerzitet u Tuzli – Mašinski fakultet –Mašinska vizija Školska 2011/2012

Primjer: usrednjavanja sa 3x3 maskom:

5
Univerzitet u Tuzli – Mašinski fakultet –Mašinska vizija Školska 2011/2012

Problem rubnih piksela:


1. Primijeniti filter samo na one piksele koji su obuhvaćeni maskom (većina
piksela kod velikih slika). Nova slika je manja od originalne za par redova
rubnih piksela.
2. Primijeniti masku na sve piksela, smatrajući da su vrijednosti fiktivnih
piksela u masci izvan slike jednake 0. (podloga sa nulama)
Filteri u Matlab-u:

6
Univerzitet u Tuzli – Mašinski fakultet –Mašinska vizija Školska 2011/2012

Primjer:

7
Univerzitet u Tuzli – Mašinski fakultet –Mašinska vizija Školska 2011/2012

Kreiranje matrice filtera: „ručno“


ili pomoću specijalne funkcije
fspecial('average',[5,7])
(3x3 je podrazumijevana veličina maske)

8
Univerzitet u Tuzli – Mašinski fakultet –Mašinska vizija Školska 2011/2012

Median filter: pogodan za uklanjanje šuma


vrijednost intenziteta koja odgovara 50% (median) vrijednosti funkcije distribucije

Ponderisani (težinski) median filter

9
Univerzitet u Tuzli – Mašinski fakultet –Mašinska vizija Školska 2011/2012

Filter Gauss-a: izglađivanje slike

10
Univerzitet u Tuzli – Mašinski fakultet –Mašinska vizija Školska 2011/2012

Filter Laplasa: pojačava kontrast, jednolika područja isključuje

PRIMJER:
clc;

%% create a new figure to show the image .


newImg = imread('Water lilies.jpg');
figure(1);
imshow(newImg);
figure(2);
%% create laplacian filter.
H = fspecial('laplacian');
%% apply laplacian filter.
blurred = imfilter(newImg,H);
imshow(blurred);

11
Univerzitet u Tuzli – Mašinski fakultet –Mašinska vizija Školska 2011/2012

Filter „unsharp“, 0 < a < 1, pojačava kontrast tj. „oštrinu“ slike

12
Univerzitet u Tuzli – Mašinski fakultet –Mašinska vizija Školska 2011/2012

ŠUM, generisanje i otklanjanje


Električni šum CCD senzora, optički šum. Šumovi se mogu kreirati na više načina. Gausov šum se
može dobiti kada se slika sabere sa s*randn(N,M) gdje je NxM dimenzija slike dok je s standardna
devijacija šuma. Potrebno je zatim pretvoriti vrijednosti intenziteta u cjelobrojne (0-255)
Alternativna MATLAB IPT funkcija za dodavanje šuma je oblika:
B=imnoise(A,’tip’,parametri);
A je originalna slika bez šuma, tip je tip šuma recimo ‘salt & papper’ za tipičan tip impulsnog
šuma, dok su parametri parametri šuma koji se dodaje (kod ‘salt & papper’ je procenat impulsa).

Linearne maske za uklanjanje šuma:

13
Univerzitet u Tuzli – Mašinski fakultet –Mašinska vizija Školska 2011/2012

14
Univerzitet u Tuzli – Mašinski fakultet –Mašinska vizija Školska 2011/2012

Filtriranje šuma usrednjavanjem

Adaptivni Wienerov filtar za uklanjanje šuma:


b = wiener2(a, [m n], noise);

a - slika koja se filtrira, maska veličine mxn oko tekućeg piksela se koristi za estimaciju lokalne srednje
vrijednosti i standardne devijacije slike. Noise je varijansa šuma kojim je slika narušena.

15

You might also like