OPERATII GEOMETRICE

40
OPERATII GEOMETRICE 1 1

Transcript of OPERATII GEOMETRICE

Page 1: OPERATII GEOMETRICE

OPERATII GEOMETRICE

11

Page 2: OPERATII GEOMETRICE

Cum definim operatiile geometrice

2

Clasa de operatii ce modifica structura de vecinatate a pixelilordin imagine (structura organizarii spatiale a imaginii).

Transformarile geometrice permit deplasarea pixelilor inimagine,pe noi pozitii.

Model intuitiv: imaginea este imprimata pe o foaie subtire decauciuc, care poate fi deformata oricum. (Casteleman)

Page 3: OPERATII GEOMETRICE

Operatii geometrice fara constrangeri

3

sferturile imaginiisunt interschimbate

mutare “aleatore”a pixelilor

Daca miscarea oricarui pixel este impusa in mod independent demiscarea celorlalti pixeli, poate apare un efect de amestecare (saude rupere) a continutului vizual.

Constrangere: legea de descriere a miscarii pixelilor NU este aleatoaresi este invarianta spatial (toti pixelii au o miscare descrisa de aceleasiecuatii).

Page 4: OPERATII GEOMETRICE

Definirea operatiilor geometrice

4

Transformarea = ecuatia de modificare a coordonatelor pixelilor

),('),('

yxYyyxXx

x’ , y’ :coordonatele pixelilordupa transfomare

x, y :coordonatele pixelilorinainte de transfomare

X, Y:ecuatiile de modificarea coordonatelor

Formele particulare ale functiilor de transformare a coordonatelor,X(x,y) si Y(x,y) particularizeaza transformarile geometrice.

Page 5: OPERATII GEOMETRICE

Coordonatele imaginii

5

x

y(0,0)Originea este coltul din stanga sus,coordonatele cresc de la stanga la dreapta side sus in jos.

Prima coordonata este de linie.

Coordonatele pot fi continue (x, y)sau discrete (m, n)

Transformarea la sistemul cartezian plan uzual :

xplan

yplan

xyyx

plan

plan

Page 6: OPERATII GEOMETRICE

Transformari geometrice afineelementare

6

Translatia Deplasarea in plan a continutului imaginii;echivalenta cu schimbarea originii sistemuluide coordonate atasat imaginii.

0

0

),('),('

yyyxYyxxyxXx Toate punctele se deplaseaza

dupa aceeasi directie si cuaceeasi distanta.

Parametri : x0, y0 – deplasari pe verticala/ orizontala.

Pastreaza distantele dintre pixeli.

Page 7: OPERATII GEOMETRICE

Transformari geometrice afineelementare

7

Translatia

x

y(0,0)

x’

y’(0,0)

(x0, y0)

x

y(0,0)

x’

y’(0,0)

Page 8: OPERATII GEOMETRICE

Transformari geometrice afineelementare

8

Scalarea Intinderea/ comprimarea continutului imaginiidupa una sau ambele axe de coordonate.NU pastreaza distantele dintre pixeli

0,),('),('

yyxYyxyxXx

Parametri : , - factori de scalare peverticala/ orizontala

, > 1 : marire/ intindere, < 1 : micsorare/ comprimare = : scalare omogena

Page 9: OPERATII GEOMETRICE

Transformari geometrice afineelementare

9

Scalarea

x

y(0,0)

> 1, < 1

< 1, > 1

x’

y’(0,0)

=>

=>

Page 10: OPERATII GEOMETRICE

Transformari geometrice afineelementare

10

Inclinarea Inclinarea imaginii reprezinta deplasarea pixelilordupa o singura coordonata, dependent de pozitiaglobala in imagine, cealalta coordonata ramanandnemodificata .

0),('),('

tytxyxYy

xyxXx

0),('),('

syyxYy

syxyxXx

inclinare pe orizontala inclinare pe verticala

Parametri : t, s – coeficienti de inclinare.

NU pastreaza distantele dintre pixeli.

Page 11: OPERATII GEOMETRICE

Transformari geometrice afineelementare

11

Inclinarea pe orizontala

0),('),('

tytxyxYy

xyxXx

x

y(0,0)

x’

y’(0,0)

punctele de x=0 sunt puncte fixe

Page 12: OPERATII GEOMETRICE

Transformari geometrice afineelementare

12

Inclinarea pe verticala

0),('),('

syyxYy

syxyxXx

x

y(0,0)

x’

y’(0,0)

punctele de y=0 sunt puncte fixe

Page 13: OPERATII GEOMETRICE

Transformari geometrice afineelementare

13

Rotatia Deplasare circulara a pixelilor in jurul centrului derotatie-originea sistemului de coordonate.

cossin),('sincos),('

yxyxYyyxyxXx

Parametru : - unghiul de rotatie

Pastreaza distantele dintre pixeli.

Page 14: OPERATII GEOMETRICE

Transformari geometrice afineelementare

14

Rotatia

x

y(0,0)

x’

y’

x’

y’

x

y(0,0)

Page 15: OPERATII GEOMETRICE

Transformari geometrice afineelementare

15

Reflexia fata de un centru de reflexie (x0,y0)

Pozitie initiala si pozitia finala a fiecarul pixel formeaza unsegment de dreapta al carui centru este centrul de reflexie.

yyyxYyxxyxXx

0

0

2),('2),('

x

y(0,0)

(x, y)

(x’, y’)

(x0, y0)

Page 16: OPERATII GEOMETRICE

Transformari geometrice afineelementare

16

Reflexia fata de un centru de reflexie (x0,y0)

yyyxYyxxyxXx

0

0

2),('2),('

x

y(0,0)

(x, y)

(x’, y’)

(x0, y0)

50 100 150 200 250

50

100

150

200

250

50 100 150 200 250

50

100

150

200

250

00

0

0

yx

Page 17: OPERATII GEOMETRICE

Transformari geometrice afinecompuse

17

Reflexia fata de o axa de reflexie

Pozitie initiala si pozitia finala a fiecarul pixel formeaza unsegment de dreapta a carui mediatoare este axa de reflexie.

1

''

1

1''

22

m

nmxy

m

nmxymxx

yy

22

2

2

222

2

12

11

12),('

12

12

11),('

mny

mmx

mmyxYy

mmny

mmx

mmyxXx

x

y(0,0)

(x, y)

(x’, y’)

axa dereflexie

y=mx+n

Page 18: OPERATII GEOMETRICE

Transformari geometrice afineelementare

18

Reflexia fata de o axa de reflexie: cazuri particulare

axa orizontala: x = k = ct (1/m = 0, -n/m = k)

22

2

2

222

2

12

11

12),('

12

12

11),('

mny

mmx

mmyxYy

mmny

mmx

mmyxXx

axa verticala: y = k = ct (m=0, n=k)

22

2

2

222

2

12

11

12),('

12

12

11),('

mny

mmx

mmyxYy

mmny

mmx

mmyxXx

yyxYyxkyxXx

),('2),('

ykyxYyxyxXx

2),('

),('

Page 19: OPERATII GEOMETRICE

Forma matriceala a transformarilorgeometrice elementare

19

Byx

Ayx

''

1. Translatia

0

0

''

yx

yx

yx

4. Rotatia

yx

yx

0

0''

3a. Inclinarea pe orizontala

yx

tyx

101

''

3b. Inclinarea pe verticala

yxs

yx

101

''

yx

yx

cossinsincos

''

2. Scalarea

Page 20: OPERATII GEOMETRICE

Forma matriceala a transformarilorgeometrice elementare

20

Byx

Ayx

''

5. Reflexia fata de un punct

0

0

22

1001

''

yx

yx

yx

6. Reflexia fata de o axa

2

2

2

2

2

22

2

12

12

11

12

12

11

''

mnm

mn

yx

mm

mm

mm

mm

yx

Page 21: OPERATII GEOMETRICE

Transformari geometrice compuseCompunere = iterare de transformari elementare

Din punctul de vedere al exprimarii analitice,compunerea este simpla in forma matriciala ...dar translatia nu are aceeasi forma matriciala si nupoate fi exprimata ca un produs matricial.

21

Solutie : coordonatele omogene

1yx

yx

Page 22: OPERATII GEOMETRICE

Forma matriceala omogena atransformarilor geometrice

22

1. Translatia

11001001

1''

0

0

yx

yx

yx

2. Scalarea

11000000

1''

yx

yx

3a. Inclinarea pe orizontala

110001001

1''

yx

tyx

3b. Inclinarea pe verticala

110001001

1''

yxs

yx

4. Rotatia

11000cossin0sincos

1''

yx

yx

11''

yx

Ayx

Page 23: OPERATII GEOMETRICE

Forma matriceala omogena atransformarilor geometrice

23

1100210201

1''

0

0

yx

yx

yx

5. Reflexia fata de un punct

6. Reflexia fata de o axa, y=mx+n

11001

211

12

12

12

11

1''

22

2

2

222

2

yx

mn

mm

mm

mmn

mm

mm

yx

Page 24: OPERATII GEOMETRICE

Descompunerea operatiilorgeometrice complexe

24

Forma generala,in coordonate omogene:

11001''

02221

01211

yx

yaaxaa

yx

Coeficientii aij provin numai din scalare, rotatie si inclinare.

cossinsincos

101

00

2221

1211 saaaa

dandu-se o serie de transf.elementare, se gaseste otransf. echivalenta unica.

dandu-se o transf. afina,se gasesc transf. elementaredin care e constituita

Page 25: OPERATII GEOMETRICE

Descompunerea operatiilorgeometrice complexe

25

dandu-se o serie de transf.elementare, se gaseste otransf. echivalenta unica.

Ex. Transformarea echivalenta unei rotatii cu 45º (=45º), inclinareverticala cu coeficient de 0.1 (s=0.1), scalare orizontala de 2 (=2)si scalare verticala de 0.5 (=0.5).

cossinsincos

101

00

2221

1211 saaaa

2/22/22/22/2

101.01

2005.0

2221

1211

aaaa

2728.14142.13889.03535.0

2221

1211

aaaa

Page 26: OPERATII GEOMETRICE

Descompunerea operatiilorgeometrice complexe

26

dandu-se o transf. afina,se gasesc transf. elementaredin care e constituita

cossincossinsincos

2221

1211 ssaaaa

222

221 aa

22

21arctanaa

222

221

21122211

aaaaaa

21122211

21112212

aaaaaaaas

Page 27: OPERATII GEOMETRICE

Aplicatii

27

26

LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR

C. VERTAN

Aplicatii Morphing

etc …

Cunoastem pozitiile unor pixeliinainte si dupa transfomare,definind conturul unor regiunipoligonale.

Rezulta un set de K sisteme de ecuatii cu aceleasi 4 necunoscute aij

Sistemul este in general supra-dimensionat si solutia nu poate fidecat aproximativa (se folosesc metode de tip minimizareaerorii patratice medii).

Page 28: OPERATII GEOMETRICE

Operatii geometrice

28

Pentru o singura zona, utilizand un modelbiliniar:

7654

3210

),('),('

kxykykxkyxYykxykykxkyxXx

Valorile (constantele) k trebuie deteminate. Avand cele 4puncte ale zonei inainte si dupa modificare se obtinconstantele cautate.Pot rezulta coordonate de valori reale.

Page 29: OPERATII GEOMETRICE

Operatii geometrice

29

Page 30: OPERATII GEOMETRICE

Transformari geometrice neliniare

30

Efectul de perna

yyxYyWyA

HHyHyxXx x

),('

sin2122

),('

efect de perna pe orizontala

HxA

WWxWyxYy

xyxXx

y sin2122

),('

),('efect de perna pe verticala

deplasari controlate dupao lege sinusoidala

Page 31: OPERATII GEOMETRICE

Implementarea operatiilorgeometrice

31

In practica, exista doua componente:1. unde se “muta” fiecare pixel

transformarea geometrica2. ce valoare este plasata in noua pozitie ?

interpolarea

In practica, imaginile sunt discrete: coordonatele tuturor pixelilorsunt numere intregi.

Valorile coordonatelor ce se obtin dupa transformarea geometricasunt de cele mai multe ori numere reale.Rezulta necesitatea de a introduce o modalitate de a “fabrica”coordonate intregi.

Page 32: OPERATII GEOMETRICE

Implementarea operatiilorgeometrice

32

Varianta 1: transportul pixelilor (pixel carry-over)

Varianta 2: umplerea pixelilor (pixel filling)

m

n

x’

y’T

(m, n) coordonate intregiinainte de transformare

(x’, y’) coordonate ne-intregidupa transformare

Page 33: OPERATII GEOMETRICE

Implementarea operatiilorgeometrice

33

Transportul pixelilor (pixel carry-over)

T

x’

y’

m

n

(m, n) coordonate intregiinainte de transformare

(x’, y’) coordonate ne-intregidupa transformare

valoarea trebuie distribuita lapixelii vecini

Page 34: OPERATII GEOMETRICE

Implementarea operatiilorgeometrice

34

Probleme ale implementarii directe

2/),('2),('yyxYy

xyxXx

012345

0 1 2 3 4 5 6

coordonate initiale

012345

0 1 2 3 4 5 6

coordonate transformate

coordonate ce nu apar

coordonate ne-intregi

Page 35: OPERATII GEOMETRICE

Implementarea operatiilorgeometrice

35

Umplerea pixelilor (pixel filling)

T-1

m’

n’

x

y

(x, y) coordonate ne-intregiinainte de transformare

(m’, n’) coordonate intregidupa transformare

valoarea (inexistenta in imaginea realainitiala) trebuie obtinuta prin interpolaredin valorile pixelilor vecini.

Page 36: OPERATII GEOMETRICE

Implementarea operatiilorgeometrice

36

Metode de interpolare

m

m+1

n n+1pozitii de coordonate intregiin care sunt cunoscute valorileimaginii f(m, n), f(m+1, n), ...

x

y

pozitie de coordonate ne-intregiin care se doreste calcularea valoriiimaginii, presupusa continua pedomeniul [m, m+1] x [n, n+1]

Cel mai simplu: interpolare de ordinul 0

Valoarea in (x,y) este valoarea din cel mai apropiatpunct de coordonate intregi.

Page 37: OPERATII GEOMETRICE

Implementarea operatiilorgeometrice

37

Interpolarea biliniaraInterpolare liniara (de ordinul 1) dupa fiecare dimensiune.

[x] [x]+1x

f1=f ([x])

f2=f ([x]+1)f (x)

])([][][)1]([

])([)1]([)( xfxxxx

xfxfxf

112 ])[)(()( fxxffxf

][][)1]([

])([)(])([)1]([

xxxx

xfxfxfxf

Page 38: OPERATII GEOMETRICE

Implementarea operatiilorgeometrice

38

Interpolarea biliniara f1 = f(m, n)f2 = f(m+1, n)f3 = f(m, n+1)f4 = f(m+1, n+1)

f4

(m+1,n) (m+1,n+1)

(m,n)(m,n+1)

f1

f2

f3

x

g1

g2

f (x, y)

f4

(m+1,n) (m+1,n+1)

(m,n)(m,n+1)

f1

f2

f3

x

g1

g2

f (x, y)m = [x]n = [y]

g1 este interpolat liniar din f1 si f2

g2 este interpolat liniar din f3 si f4

f este interpolat liniar din g1 si g2

Page 39: OPERATII GEOMETRICE

Implementarea operatiilorgeometrice

39

(m+1,n) (m+1,n+1)

(m,n)(m,n+1)

f1

f2

f3

x

g1

g2

f (x, y)

f1 = f(m, n)f2 = f(m+1, n)f3 = f(m, n+1)f4 = f(m+1, n+1)

m = [x]n = [y]

g1 este interpolat liniar din f1 si f2

g2 este interpolat liniar din f3 si f4

f este interpolat liniar din g1 si g2

1121 ))(( fmxffg

3342 ))(( fmxffg

112 ))(( gnyggf

Interpolarea biliniara

Page 40: OPERATII GEOMETRICE

Implementarea operatiilorgeometrice

40

1121 ))(( fmxffg Interpolarea biliniara

3342 ))(( fmxffg

112 ))(( gnyggf

112

112334

))(()())(())((

fmxffnyfmxfffmxfff

113

121234

))(())(()(

fnyffmxffnymxfffff

)()()( nymxnymxf