View
17
Download
0
Category
Preview:
Citation preview
OPERATII GEOMETRICE
11
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)
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).
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.
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
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.
Transformari geometrice afineelementare
7
Translatia
x
y(0,0)
x’
y’(0,0)
(x0, y0)
x
y(0,0)
x’
y’(0,0)
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
Transformari geometrice afineelementare
9
Scalarea
x
y(0,0)
> 1, < 1
< 1, > 1
x’
y’(0,0)
=>
=>
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.
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
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
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.
Transformari geometrice afineelementare
14
Rotatia
x
y(0,0)
x’
y’
x’
y’
x
y(0,0)
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)
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
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
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),('
),('
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
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
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
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
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
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
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
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
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).
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.
Operatii geometrice
29
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
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.
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
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
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
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.
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.
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
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
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
Implementarea operatiilorgeometrice
40
1121 ))(( fmxffg Interpolarea biliniara
3342 ))(( fmxffg
112 ))(( gnyggf
112
112334
))(()())(())((
fmxffnyfmxfffmxfff
113
121234
))(())(()(
fnyffmxffnymxfffff
)()()( nymxnymxf
Recommended