operatii geometriceimag.pub.ro/site_old/release/archive/03.pdf · daca miscarea oricarui pixel este...

10
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 pixelilor din 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 de miscarea celorlalti pixeli, poate apare un efect de amestecare (sau de rupere) a continutului vizual. sferturile imaginii sunt interschimbate mutare “aleatore” a pixelilor Constrangere: lege de descriere a miscarii pixelilor NU este aleatoare si este invarianta spatial (toti pixelii au o miscare descrisa de aceleasi ecuatii). LABORATORUL DE ANALIZA ŞI PRELUCRAREA IMAGINILOR C. VERTAN Definirea transformarii geometrice Transformarea = ecuatia de modificare a coordonatelor pixelilor ) , ( ' ) , ( ' y x Y y y x X x = = x’ , y’ : coordonatele pixelilor dupa transfomare x, y : coordonatele pixelilor inainte de transfomare X, Y: ecuatiile de modificare a coordonatelor Formele particulare ale functiilor de transformare a coordonatelor, X(x,y) si Y(x,y) particularizeaza transformarile geometrice.

Upload: others

Post on 24-Jan-2020

78 views

Category:

Documents


0 download

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)