operatii geometrice - alpha.imag.pub.roalpha.imag.pub.ro/site_old/release/archive/03.pdf · stanga...
TRANSCRIPT
1
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
OPERATII GEOMETRICE
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
O definitie ?
Clasa de operatii ce modifica structura de vecinatate a pixelilordin imagine (structura organizarii spatiale a imaginii).
Transformarile geometrice permit deplasarea pixelilor in imagine,pe noi pozitii.
Model intuitiv: imaginea este imprimata pe o foaie subtire de cauciuc, care poate fi deformata oricum.
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Operatii geometrice fara constrangeri
Daca miscarea oricarui pixel este impusa in mod independent demiscarea celorlalti pixeli, poate apare un efect de amestecare (saude rupere) a continutului vizual.
sferturile imaginiisunt interschimbate
mutare “aleatore”a pixelilor
Constrangere: lege de descriere a miscarii pixelilor NU este aleatoaresi este invarianta spatial (toti pixelii au o miscare descrisa de aceleasiecuatii).
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Definirea transformarii geometrice
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.
2
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Sistemul de coordonate asociat imaginii
x
y(0,0) Originea este coltul dinstanga sus, coordonatele crescde la stanga la dreapta si de susin 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
−=
=
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Transformari geometrice afine elementare
Translatia
Deplasarea in plan a continutului imaginii;echivalenta cu schimbarea originii sistemuluide coordonate atasat imaginii.
0
0
),('),('
yyyxYyxxyxXx
+==+==
Pastreaza distantele dintre pixeli.
Parametri : x0, y0 – deplasari pe orizontala/verticala.
Transformari geometrice afine elementare
Translatia
x
y(0,0)
x’
y’(0,0)
(x0, y0)
x
y(0,0)
x’
y’(0,0)
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Transformari geometrice afine elementare
Scalarea
0,),('),('
>====
βαβαyyxYyxyxXx
Parametri : α, β - factori de scalare peverticala/ orizontala
α, β > 1 : marire/ intindereα, β < 1 : micsorare/ comprimare
Intinderea/ comprimarea continutului imaginiidupa una sau ambele axe de coordonate.NU pastreaza distantele dintre pixeli
α = β : scalare omogena
3
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Transformari geometrice afine elementare
Scalarea
x
y(0,0)
x’
y’(0,0)
α > 1, β < 1
α < 1, β > 1
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Transformari geometrice afine elementare
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
NU pastreaza distantele dintre pixeli.
Parametri : t, s – coeficienti de inclinare.
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Transformari geometrice afine elementare
Inclinarea pe orizontala
x
y(0,0)
x’
y’(0,0)
punctele de x=0 sunt puncte fixe
0),('),('
>+==
==
tytxyxYy
xyxXx
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Transformari geometrice afine elementare
Inclinarea pe verticala
x
y(0,0)
x’
y’(0,0)
punctele de y=0 sunt puncte fixe
0),('),('
>==
+==
syyxYy
syxyxXx
4
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Transformari geometrice afine elementare
Rotatia
θθθθ
cossin),('sincos),('
yxyxYyyxyxXx
+−==+==
Deplasare circulara a pixelilor in jurul centrului derotatie (originea sistemului de coordonate).
Pastreaza distantele dintre pixeli.
Parametru : θ - unghiul de rotatie
Transformari geometrice afine elementare
Rotatia
x
y(0,0)
x’
y’
θ
x
y(0,0) x’
y’
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Transformari geometrice afine compuse
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)
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Transformari geometrice afine compuse
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.
x
y(0,0)
(x, y)
(x’, y’)
axa dereflexie
y=mx+n
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
++
+−−
+==
++
++
+−==
5
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Transformari geometrice afine compuse
Reflexia fata de o axa de reflexie : cazuri particulare
axa orizontala: x = k = ct (1/m = 0, -n/m = k)
axa verticala: y = k = ct (m=0, n=k)
ykyxYyxyxXx
−====
2),('),('
22
2
2
222
2
12
11
12),('
12
12
11),('
mny
mmx
mmyxYy
mmny
mmx
mmyxXx
++
+−−
+==
++
++
+−==
22
2
2
222
2
12
11
12),('
12
12
11),('
mny
mmx
mmyxYy
mmny
mmx
mmyxXx
++
+−−
+==
++
++
+−==
yyxYyxkyxXx
==−==
),('2),('
Forma matriciala a transformarilor geometrice elementare
Byx
Ayx
+���
����
�=��
�
����
�
'' 1. Translatia
���
����
�+��
�
����
�=��
�
����
�
0
0
''
yx
yx
yx
2. Scalarea
���
����
����
����
�=��
�
����
�
yx
yx
βα0
0''
3a. Inclinarea pe orizontala
���
����
����
����
�=��
�
����
�
yx
tyx
101
''
3b. Inclinarea pe verticala
���
����
����
����
�=��
�
����
�
yxt
yx
101
''
4. Rotatia
���
����
����
����
�
−=��
�
����
�
yx
yx
θθθθ
cossinsincos
''
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Forma matriciala a transformarilor geometrice elementare
Byx
Ayx
+���
����
�=��
�
����
�
''
1. Reflexia fata de un punct
2. Reflexia fata de o axa
���
����
�+��
�
����
����
����
�
−−
=���
����
�
0
0
22
1001
''
yx
yx
yx
����
�
�
����
�
�
+
+−
+���
����
�
����
�
�
����
�
�
+−−
+
++−
=���
����
�
2
2
2
2
2
22
2
12
12
11
12
12
11
''
mmm
mn
yx
mm
mm
mm
mm
yx
transformaricompuse printranslatie si
rotatie
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Transformari geometrice compuse
Compunere = iterare de transformari elementare
Din punctul de vedere al exprimarii analitice, compunereaeste simpla in forma matriciala ...
dar translatia nu are aceeasi forma matriciala si nu poate fiexprimata ca un produs matricial.
Solutie : coordonatele omogene
���
�
�
���
�
�
→���
����
�
1yx
yx (planul de z=1 din spatiul cartezian 3D)
6
Forma matriciala omogena a transformarilor geometrice
���
�
�
���
�
�
=���
�
�
���
�
�
11''
yx
Ayx
1. Translatia
���
�
�
���
�
�
���
�
�
���
�
�
=���
�
�
���
�
�
11001001
1''
0
0
yx
yx
yx
4. Rotatia
���
�
�
���
�
�
���
�
�
���
�
�
−=���
�
�
���
�
�
11000cossin0sincos
1''
yx
yx
θθθθ
2. Scalarea
���
�
�
���
�
�
���
�
�
���
�
�
=���
�
�
���
�
�
11000000
1''
yx
yx
βα
3a. Inclinarea pe orizontala
���
�
�
���
�
�
���
�
�
���
�
�
=���
�
�
���
�
�
110001001
1''
yx
syx
3b. Inclinarea pe verticala
���
�
�
���
�
�
���
�
�
���
�
�
=���
�
�
���
�
�
110001001
1''
yxt
yx
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Descompunerea operatiilor geometrice complexeSub forma cea mai generala, in coordonate omogene avem:
���
�
�
���
�
�
���
�
�
���
�
�
=���
�
�
���
�
�
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
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Descompunerea operatiilor geometrice complexe
De ce s-a folosit o unica inclinare ?
inclinare pe orizontala
inclinare pe verticala
rotatie π/2
reflexie fata de verticala
Descompunerea operatiilor geometrice complexedandu-se o serie de transf.elementare, se gaseste otransf. echivalenta unica.
Problema triviala.
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
7
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Descompunerea operatiilor geometrice complexedandu-se o transf. afina,se gasesc transf. elementaredin care e constituita
���
����
�
−+−
=���
����
�
θβθβθβθαθθα
cossincossinsincos
2221
1211 saaaa
222
221 aa +=β
22
21arctanaa−=θ
( )221221
222
221 aaa
aa−
+=α
( )221221
222
221
22222
221
21
11 aaa
aaaaa
aas −
+−+=
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Inclinarea este transformare elementara ?
Se poate exprima ca o succesiune de rotatii, scalari, reflexii ... ?
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
La ce bun ?
Cunoastem pozitiile unor pixeli inainte si dupa transfomare, definindconturul unor regiuni poligonale.
���
����
����
����
�=��
�
����
�
=���
����
�→��
�
����
�
i
i
i
i
i
i
i
i
yx
aaaa
yx
Kiyx
yx
2221
1211
''
, ... ,2,1,''
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).
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Aplicatii Morphing
etc …
8
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Transformari geometrice neliniare
Efectul de perna
deplasari controlate dupao lege sinusoidala
yyxYyWyA
HHyHyxXx x
==
��
���
� −��
���
� −+==
),('
sin2122
),(' π
efect de perna pe orizontala
��
���
� −��
���
� −+==
==
HxA
WWyWyxYy
xyxXx
y πsin2122
),('
),('efect de perna pe verticala
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Implementarea operatiilor geometriceIn practica, exista doua componente:
1. unde se “muta” fiecare pixel
2. ce valoare este plasata in noua pozitie ?
transformarea geometrica
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.
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Implementarea operatiilor geometrice
Varianta 1: transportul pixelilor (pixel carry-over)
Varianta 2: umplerea pixelilor (pixel filling)
m
n
x’
y’T(x’, y’) coordonate ne-intregidupa transformare
(m, n) coordonate intregiinainte de transformare
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Implementarea operatiilor geometriceTransportul pixelilor (pixel carry-over)
m
n T(x’, y’) coordonate ne-intregidupa transformare
(m, n) coordonate intregiinainte de transformare
valoarea trebuie distribuita lapixelii vecini
x’
y’
9
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Probleme ale implementarii directe
2/),('2),('yyxYy
xyxXx====
coordonate ne-intregi
coordonate ce nu apar
012345
0 1 2 3 4 5 6
coordonate initiale
012345
0 1 2 3 4 5 6
coordonate transformate
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Implementarea operatiilor geometriceUmplerea pixelilor (pixel filling)
T-1
(m’, n’) coordonate intregidupa transformare
(x, y) coordonate ne-intregiinainte de transformare
m’
n’
x
y
valoarea (inexistenta in imaginea realainitiala) trebuie obtinuta prin interpolaredin valorile pixelilor vecini.
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
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.
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Interpolarea biliniara
Interpolare liniara (de ordinul 1) dupa fiecare dimensiune.
[x] [x]+1
f1=f ([x])
f2=f ([x]+1)
x
f (x)
( ) ])([][][)1]([
])([)1]([)( xfxxxx
xfxfxf +−−+
−+=
112 ])[)(()( fxxffxf +−−=
10
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Interpolarea biliniara
(m+1,n) (m+1,n+1)
(m,n)(m,n+1)
m = [x]n = [y]
f1
f2
f3
f1 = f(m, n)f2 = f(m+1, n)f3 = f(m, n+1)f4 = f(m+1, n+1)
f4x
g1
g2
f (x, 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
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Interpolarea biliniara
(m+1,n) (m+1,n+1)
(m,n)(m,n+1)
f1
f2
f3
f4x
g1
g2
f (x, y)m = [x]n = [y]
f1 = f(m, n)f2 = f(m+1, n)f3 = f(m, n+1)f4 = f(m+1, n+1)
g1 este interpolat liniar din f1 si f2 1121 ))(( fmxffg +−−=g2 este interpolat liniar din f3 si f4 3342 ))(( fmxffg +−−=
f este interpolat liniar din g1 si g2 112 ))(( gnyggf +−−=
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Interpolarea biliniara
1121 ))(( fmxffg +−−=3342 ))(( fmxffg +−−=
112 ))(( gnyggf +−−=
( )112
112334
))(()())(())((
fmxffnyfmxfffmxfff
+−−++−−−−−+−−=
( )( )113
121234
))(())(()(
fnyffmxffnymxfffff
+−−++−−+−−+−−=
( ) δγβα +−+−+−−= )()()( nymxnymxf
LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR
C. VERTAN
Metode de interpolare
Interpolari de ordin superior: 2, 3, ...
(functii spline – interpolari de ordin 3)