Sunteți pe pagina 1din 15

Semnale i Sisteme Bidimensionale 21

2 SEMNALE I SISTEME BIDIMENSIONALE

2.1 Generarea imaginilor folosind funcii bidimensionale

Orice imagine digital poate fi interpretat ca o funcie de dou variabile.


Reprezentnd aceste funcii matematice obinem o serie de imagini spectaculoase i
interesante.

Pentru a putea afia imaginile este necesar ca funcia bidimensional s aib


valori n intervalul [1, M ] , unde M este numrul de culori din paleta de culori. (De
exemplu paleta de culori gray(256) are M = 256 nuane de gri.)

Funcia imagesc(A) afieaz matricea A ca o imagine indexat scalnd


valorile din matricea A n intervalul [1, M ] dup cum s-a artat mai sus.

Reprezentai sub forma unor imagini funciile:

Impuls dirac bidimensional:

1, n1 = n2 = 64
(n1 , n2 ) = (2.1)
0, in rest
im=zeros(128);
im(64,64)=1;
figure(1),colormap(gray),title('Functia dirac')
imagesc(im)

Impuls rectangular bidimensional:

1, 20 < n1 < 40; 20 < n2 < 40


r (n1 , n2 ) = (2.2)
0, in rest
PRELUCRAREA IMAGINILOR I RECUNOATEREA FORMELOR 22

Realizai o funcie Matlab care s returneze ca rezultat o matrice ptratic de


forma:

a a a
a + 1 a + 1 a + 1

f ( a, b) = (2.3)

b 1 b 1 b 1
b b b

De exemplu obinerea matricei

1 1 1
A = 2 2 2
3 3 3

se poate face prin nmulirea vectorului coloan [1 2 3] cu vectorul linie


T

[1 1 1] . n Matlab aceast operaie este realizat prin:

A = (1:3) * ones(3,1);

Utiliznd aceast funcie completai tabelul cu imaginile obinute din


reprezentarea funciilor bidimensionale:

Funcia matematic Imaginea

f1 (i, j ) = i unde i, j [ 45, 45]

f 2 (i, j ) = j unde i, j [ 45, 45]

f 3 (i, j ) = i + j unde i, j [ 45, 45]

f 4 (i, j ) = i j unde i, j [45, 45]

f 5 (i, j ) = i 2 j 2 unde i, j [45, 45]

f 6 (i, j ) = i 2 j 2 unde i, j [45, 45]


Semnale i Sisteme Bidimensionale 23

Funcia matematic Imaginea

Funciile sin i cos bidimensionale:


m = 128; n = 128;
tm = (0:1:(m-1))/m;
tn = (0:1:(n-1))/n;
k = 3; l =-5;
i = sqrt(-1);
wave = exp(2*pi*i*k*tm')*exp(2*pi*i*l*tn);
figure(1), colormap(gray)
imagesc(real(wave)),title('Functia cos');
figure(2), colormap(gray)
imagesc(imag(wave)),title('Functia sin');

2.2 Structuri periodice

Fie urmtoarele structuri periodice. Determinai analitic expresiile acestor


funcii. Obinei imaginea corespunztoare unei perioade i reprezentai structura
periodizat pe 6 perioade. Se poate folosi funcia repmat(A,M,N) care repet
matricea A de N ori pe orizontal i de M ori pe vertical.

Structura i expresia analitic Imaginea

pentru A=20 i X=60;


PRELUCRAREA IMAGINILOR I RECUNOATEREA FORMELOR 24

pentru A=20, B=30 i X=60;

pentru A=20 i X=60;

2.3 Convoluia

Convoluia a dou imagini bidimensionale se face utiliznd funcia CONV2.

Figura 2.1. Imaginea conv.tif

S se calculeze i s se reprezinte convoluia liniar dintre imaginea conv.tif


i funciile pondere urmtoare:

1 1 1 1 0 1 0 0 0
h1 = 1 1 1 h2 = 2 0 2 h3 = 0 0 0
1 1 1 1 0 1 0 0 1
Semnale i Sisteme Bidimensionale 25

2.4 Transformata Fourier Bidimensional. Spectrul


imaginilor

Spectrul de frecven ocupat de o imagine digital se poate determina prin


calculul transformatei Fourier bidimensionale:
N1 N2
X (1 , 2 ) = x ( n1 , n2 ) exp ( j1n1 j 2 n2 ) (2.4)
n1 = 0 n2 = 0

Prin implementarea unor algoritmi rapizi, transformata Fourier


bidimensional poate fi calculat cu un numr mai redus de adunri i nmuliri,
deci ntr-un timp mai scurt. Transformata Fourier rapid (Fast Fourier Transform)
bidimensional poate fi calculat n Matlab cu funcia FFT2(X,N1,N2).

Determinai spectrul imaginilor urmtoare:

Imaginea original Transformata Fourier

sinus.tif

drept.tif
PRELUCRAREA IMAGINILOR I RECUNOATEREA FORMELOR 26

gausian.tif

impulsuri.tif

fourier.tif

2.5 Proprieti ale transformatei Fourier 2D


Liniaritatea

Dac x1 X 1 i x2 X 2 (2.5)

atunci ax1 + bx2 aX 1 + bX 2 (2.6)

Deplasarea n spaiu

Dac x ( n1 , n2 ) X (1 , 2 ) (2.7)

atunci x ( n1 m1 , n2 m2 ) exp ( j1m1 j 2 m2 ) X (1 , 2 ) (2.8)

Verificai aceste proprieti completnd tabelul urmtor:


Semnale i Sisteme Bidimensionale 27

Imaginea original Transformata Fourier

A.tif

Teorema rotaiei

B.tif

Teorema superpoziiei

C = 0, 25A + 0,75B

Teorema translaiei

D.tif
PRELUCRAREA IMAGINILOR I RECUNOATEREA FORMELOR 28

2.6 Imagini binare (Halftoning)

Procesul de binarizare numit i halftoning este utilizat n multe aplicaii cum


ar fi: faxuri, imprimante laser, scanere i copiatoare. n aceste cazuri imaginile
monocrome trebuie convertite n imagini binare (scala de gri convertit n alb i
negru).

2.6.1 Cuantizarea pe dou nivele

Cel mai simplu mod de conversie ntr-o imagine binar este cuantizarea cu
un bit (dou nivele) numit i thresholding. Alegnd un prag de cuantizare T
imaginea binar B ( i, j ) care provine dintr-o imagine de intensitate A ( i, j ) va fi

calculat cu formula:

1 dac A ( i, j ) > T
B ( i, j ) = (2.9)
0 altfel

Figura 2.2. arat un exemplu de conversie la o imagine binar cu T = 0,5.

Figura 2.2. (a) Imaginea original (b) Imaginea binar obinut

n Matlab comanda este: im2bw(A,level);

Convertii imaginea lake.tif ntr-o imagine binar utiliznd funcia im2bw.


Salvai imaginea obinut cu numele lakethr.tif.
Semnale i Sisteme Bidimensionale 29

Scdei (n valoare absolut) imaginea lakethr.tif din lake.tif. Vei obine


imaginea de eroare de cuantizare. Salvai cu numele err1.tif.

Calculai eroarea ptratic medie pentru aceast imagine cu formula:

1
[ A(i, j ) B(i, j )]
2
MSE = (2.10)
NM i, j

unde NM este numrul total de pixeli din imagine.

Se observ c imaginea binar nu este umbrit corect, efect cunoscut ca o


conturizare fals. Aceasta apare datorit cuantizrii cu un numr mic de bii
deoarece eroarea de cuantizare depinde de semnalul de intrare. De aceea dac se
reduce dependena semnalului de eroarea de cuantizare, calitatea imaginii binare va
fi mbuntit.

O metod de reducere a dependenei erorii de cuantizare de semnalul de


intrare este s suprapunem peste imaginea iniial un zgomot alb cu distribuie
uniform i apoi s cuantizm imaginea. Pentru fiecare pixel din imaginea A ( i, j )

se adun un numr aleator n intervalul [a, a] i se cuantizeaz imaginea. n figura


2.2 este imaginea rezultat prin adunarea unui zgomot uniform n intervalul
[0.4, 0.4] .

Se observ c dei imaginea obinut este zgomotoas, conturizarea fals este


redus.

Figura 2.3. Binarizarea cu zgomot aleator.


PRELUCRAREA IMAGINILOR I RECUNOATEREA FORMELOR 30

Folosind funcia rand(size(A)) creai o matrice de zgomot de aceeai


dimensiune cu matricea de intensitate a imaginii lake.tif si adunai cele dou
matrice. Convertii imaginea n imagine binar i salvai rezultatul ca lakezg.tif.
Calculai matricea eroare i eroarea ptratic medie. Salvai imaginea eroare de
cuantizare cu numele err2.tif.

2.6.2 Ordered Dithering

O tehnic mai bun de binarizare este cunoscut cu numele de ordered


dithering.

Sistemul vizual uman tinde s medieze vecintatea unui pixel ceea ce poate
crea iluzia de mai multe nivele de gri ntr-o imagine binar. De exemplu cu un grid
de 2 x 2 pixeli se pot reprezenta 5 nivele de gri diferite. n operaia de dithering se
nlocuiesc blocuri din imaginea original cu secvene binare de acest tip.

0 1 2 3 4

Figura 2.4. Cinci secvene diferite obinute cu un grid de 2 x 2 pixeli.

Aa cum s-a artat, conturizarea fals poate fi redus dac se reduce corelaia
semnal de intrare - eroare de cuantizare. O alt metod de a reduce aceast
dependen este utilizarea unui prag de cuantizare variabil.

Ordered dithering const n compararea unor blocuri din imaginea original


cu un grid bidimensional cunoscut ca model de dither. Fiecare element din bloc este
cuantizat folosind un prag variabil dat de o matrice din clasa matricilor lui Bayer.

Un exemplu de matrice de dither de dimensiuni 2 x 2 este:

5 8 3 8
T= (2.11)
1 8 7 8
Semnale i Sisteme Bidimensionale 31

Valorile pentru pragurile de cuantizare depind de numrul de apariii ale


punctelor n gridul de dither (figura 2.3). Pentru un grid de 2 x 2 pixeli, numrul de
apariii a punctelor este scris ntr-o matrice I:

3 2
I= (2.12)
1 4

Formula de calcul pentru matricea pragurilor de cuantizare este:

T = ( I 0, 5 ) / n 2 (2.13)

unde n2 este numrul total de elemente din matrice.

Implementai algoritmul de dither al lui Bayer pentru un grid de 4 x 4 pixeli.


Matricea I este:

12 8 10 6
4 16 2 14
I= (2.14)
9 5 11 7

1 13 3 15

Indicaii:

Calculai matricea T;

Creai o matrice de binarizare cu dimensiuni egale cu imaginea iniial


prin repetarea matricii T. (De exemplu cu funcia repmat);

Binarizarea poate fi efectuat cu comanda B=find(A>T);

Salvai imaginea binarizat cu numele lakedith.tif i imaginea eroare


err3.tif. Calculai eroarea ptratic medie.
PRELUCRAREA IMAGINILOR I RECUNOATEREA FORMELOR 32

2.6.3 Error Diffusion

Alt metod de binarizare este cunoscut cu numele de error diffusion. n


acest caz pixelii sunt cuantizai ntr-o anumit ordine (uzual de la stnga la dreapta
i de sus n jos), iar eroarea rezidual de cuantizare pentru pixelul curent este
propagat (difuzat) la pixelii urmtori. Aceast metod pstreaz o intensitate
global a imaginii binare apropiat de imaginea iniial.

Figura 2.5. Schema bloc pentru metoda error diffusion.

n figura 2.5 este prezentat o schem bloc pentru aceast metod. Pixelul
curent f ( i, j ) este modificat funcie de erorile de cuantizare anterioare, rezultnd

intrarea modificat f ( i, j ) . Acest pixel este cuantizat cu un prag T la o valoare

binar. Eroarea e ( i, j ) este definit prin:

e(i, j ) = f (i, j ) b(i, j ) (2.15)

unde b ( i, j ) este imaginea binar.

Eroarea de cuantizare e ( i, j ) este ponderat printr-un filtru de difuzie

h ( i, j ) . Procesul de modificare a pixelilor funcie de erorile anterioare este dat de

relaia recursiv:

f ( i, j ) = f ( i, j ) + h ( k, l ) e (i k, j l )
k ,lS
(2.16)

Una din cele mai folosite metode de error diffusion propuse de Floyd i
Steinberg folosete filtrul de difuzie din figura 2.6. Deoarece suma coeficienilor
Semnale i Sisteme Bidimensionale 33

filtului este unu, rezult c valoarea medie local pentru imaginea cuantizat este
egal cu valoarea medie local a imaginii monocrome. Figura 2.7 arat imaginea
binar obinut prin metoda propus de Floyd i Steinberg. n comparaie cu
celelalte metode se observ o mbuntire a contrastului dar i apariia unor urme
numite worm patterns.

7/16

3/16 5/16 1/16

Figura 2.6. Coeficienii filtrului folosit la error diffusion.

Figura 2.7. Imaginea obinut prin metoda Floyd i Steinberg.

Aplicai metoda error diffusion pentru binarizarea imaginii lake.tif. Se alege


pragul T = 0.4 i filtrul de difuzie din figura 2.6.

Indicaii:

Iniializai matricea imaginii de ieire cu zero;

Cuantizai pixelul curent utiliznd pragul T, i scriei rezultatul n maticea


de ieire;

Calculai eroarea de cuantizare prin scderea valorii pixelului binar din


valoarea pixelului de intrare;

Adunai valorile scalate ale acestei erori la pixelii urmtori aa cum este
artat n filtrul de difuzie;

Trecei la pixelul urmtor.


PRELUCRAREA IMAGINILOR I RECUNOATEREA FORMELOR 34

La fel ca nainte salvai imaginea binar cu numele lakediff.tif i imaginea


eroare err4.tif. Calculai eroarea ptratic medie.

Referatul va conine un tabel cu imaginile binarizate: lakethr.tif, lakezg.tif,


lakedith.tif, lakediff.tif, cu imaginile eroare: err1.tif, err2.tif, err3.tif, err4.tif, i
cu erorile ptratice medii pentru fiecare caz n parte. De asemenea vor fi salvate
funciile Matlab pentru implementarea diferitelor metode de binarizare.

Comparai performanele metodelor folosite din punct de vedere al percepiei


vizuale. Care metod reduce cel mai mult dependena erorii de cuantizare de
semnalul de intrare?

PROBLEME:

Calculai convoluia bidimensional a semnalelor:

1, 1 i 1 0 j2
x(i, j ) =
0, altfel

1, 2 i 1 0 j 1
h(i, j ) =
0, altfel

Fie matricea de indeci:

10 9 8 7
11 1 2 6

12 3 4 5

13 14 15 16

Calculai imaginea binar obinut pentru un prag T = 0, 25 , dac imaginea


iniial este convertit ntr-o imagine de intensitate (ia valori n intervalul [0,1] ).
Semnale i Sisteme Bidimensionale 35

Un algoritm pentru binarizarea imaginii prin difuzarea erorii poate fi descris


prin urmtoarea schem, unde x(n) [1, 1] i y (n) {1, 1} (-1 = negru, 1 =
alb):

x(n) x*(n) +1 Q y(n)


+
- -1
- +

e(n)
z-1
+
w
+
z-1

1-w

a) Presupunnd 0 w 1 i c e(0) = 0, e(1) = 0 demonstrai c | x* (n) | 2 .

b) Definim erorile de cuantizare: d ( n) = y (n) x( n) i e(n) = y (n) x* (n) . Aflai


D ( z ) / E ( z ) dac w = 1 .

c) Aflai w pentru care D ( z ) / E ( z ) are toate zerourile n z = 1 .

d) O presupunere simplificatoare este liniaritatea sistemului, acceptnd c e(n) este


o surs de eroare independent ca n figur:

e
x* y x* y
Q

Presupunem c imaginea x(n) a fost supraeantionat i c imaginea binar


y (n) este filtrat trece jos i subeantionat pentru a se reconstitui imaginea
monocrom. Explicai utilitatea punctului c. Exist probleme de stabilitate n
acest caz ?

S-ar putea să vă placă și