• Nie Znaleziono Wyników

Przekształcenia geometryczne

N/A
N/A
Protected

Academic year: 2021

Share "Przekształcenia geometryczne"

Copied!
33
0
0

Pełen tekst

(1)

Przetwarzanie i Kompresja Obrazów.

Przekształcenia geometryczne

Aleksander Denisiuk (denisjuk@pja.edu.pl)

Polsko-Japońska Akademia Technik Komputerowych

Wydział Informatyki w Gdańsku

ul. Brzegi 55, 80-045 Gdańsk

(2)

Przekształcenia geometryczne

Przekształcenia afiniczne Przekształcenia rzutowe Przekształcenia nieliniowe

Najnowsza wersja tego dokumentu dostępna jest pod adresem

(3)

Przekształcenia afiniczne

Przekształcenia afiniczne Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie Przekształcenia rzutowe Przekształcenia nieliniowe

(4)

Odbicie

Przekształcenia afiniczne Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie Przekształcenia rzutowe Przekształcenia nieliniowe



(x, y) 7→ (1 − x, y)



(x, y) 7→ (x, 1 − y)

(5)

Skalowanie

Przekształcenia afiniczne Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie Przekształcenia rzutowe Przekształcenia nieliniowe



(x, y) 7→ (λ

1

x, λ

2

y)

(6)

Metoda najbliższego sąsiedztwa

Przekształcenia afiniczne Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie Przekształcenia rzutowe Przekształcenia nieliniowe



f (x, y) = f (x

i

, y

j

), gdzie |x − x

i

| oraz |y − y

j

| są minimalne

x

y

(x, y)

(x

1

, y

2

)

(x

2

, y

2

)

(7)

Interpolacja biliniowa

Przekształcenia afiniczne Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie Przekształcenia rzutowe Przekształcenia nieliniowe



f (x, y) = (1 − β)f

1

+ βf

2

, gdzie



f

j

= (1 − α)f (x

1

, y

j

) + αf (x

x

, y

j

) (j = 1, 2), gdzie



α =

x

x−x1

2

−x1

= x − x

1

, β =

y−y1

y

2−y1

= y − y

1

x

y

(x, y)

(x

1

, y

2

)

(x

2

, y

2

)

β

1 − β

α

1 − α

α

1 − α

(8)

Interpolacja bisześcienna

Przekształcenia afiniczne Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie Przekształcenia rzutowe Przekształcenia nieliniowe



f (x, y) = f

0

+ f

1

(y − y

0

) +

2

1

(f

2

− 2f

1

+ f

0

)(y − y

0

)(y −

y

1

) +

1

6

(f

3

− 3f

2

+ 3f

1

− f

0

)(y − y

0

)(y − y

1

)(y − y

2

), gdzie



f

j

= f

0,j

+ f

1,j

(x − x

0

) +

1

2

(f

2,j

− 2f

1,j

+ f

0,j

)(x − x

0

)(x −

x

1

) +

1

6

(f

3,j

− 3f

2,j

+ 3f

1,j

− f

0,j

)(x − x

0

)(x − x

1

)(x − x

2

)

x

y

(x, y)

f

0

,

0

f

1

,

0

f

2

,

0

f

3

,

0

f

0

,

1

f

1

,

1

f

2

,

1

f

3

,

1

f

0

,

2

f

1

,

2

f

2

,

2

f

3

,

2

f

0

,

3

f

1

,

3

f

2

,

3

f

3

,

3

(9)

Ponadto

Przekształcenia afiniczne Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie Przekształcenia rzutowe Przekształcenia nieliniowe



Interpolacja za pomocą spline’ów



Interpolacja w dziedzinie widmowej

(10)

Obrót

Przekształcenia afiniczne Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie Przekształcenia rzutowe Przekształcenia nieliniowe



(x, y) 7→ (x cos φ − y sin φ, x sin φ + y cos φ)



Dookoła początku układu współrzędnych



dookoła punktu (x

0

, y

0

) przekształcenie jest dane

macierzą:

cos φ − sin φ −x

0

cos φ + y

0

sin φ + x

0

sin φ

cos φ

−x

0

sin φ − y

0

cos φ + y

0

0

0

1

(11)

Nachylenie do osi Ox

Przekształcenia afiniczne Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie Przekształcenia rzutowe Przekształcenia nieliniowe



1 − tg φ 0

0

1

0

0

0

1



Względem początku układu współrzędnych



Nachylenie w lewo

(12)

Nachylenie do osi Oy

Przekształcenia afiniczne Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie Przekształcenia rzutowe Przekształcenia nieliniowe



1

0 0

tg φ 1 0

0

0 1



Względem początku układu współrzędnych



Nachylenie w lewo

(13)

Przesunięcie

Przekształcenia afiniczne Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie Przekształcenia rzutowe Przekształcenia nieliniowe



1 0 x

0 1 y

0 0 1

(14)

Przekształcenia rzutowe

Przekształcenia afiniczne Przekształcenia rzutowe Transformacja perspektywiczna Cztery punkty Przekształcenia nieliniowe

(15)

Transformacja perspektywiczna

Przekształcenia afiniczne Przekształcenia rzutowe Transformacja perspektywiczna Cztery punkty Przekształcenia nieliniowe



A =

a

11

a

12

a

13

a

21

a

22

a

23

a

31

a

32

a

33



zazwyczaj wymaga się det A 6= 0.

(16)

Transformacja po czterech punktach

Przekształcenia afiniczne Przekształcenia rzutowe Transformacja perspektywiczna Cztery punkty Przekształcenia nieliniowe



Dane są dwie czwórki punktów na płaszczyźnie:

P = (P

0

, P

1

, P

2

, P

3

) oraz Q = (Q

0

, Q

1

, Q

2

, Q

3

).



P

j

= (x

0

, y

j

), Q

j

= (s

j

, t

j

), j = 0, . . . , 3.



Znaleźć taką transformację perspektywiczną A : R

2

→ R

2

,

że A(P

j

) = Q

j

, j = 0, . . . , 3.

P

0

P

1

P

2

P

3

Q

0

Q

1

Q

2

Q

3

(17)

Metoda algebraiczna

Przekształcenia afiniczne Przekształcenia rzutowe Transformacja perspektywiczna Cztery punkty Przekształcenia nieliniowe



Rozwiązywanie jednorodnego układu równań liniowych



12 równań



13 zmiennych

(18)

Metoda geometryczna

Przekształcenia afiniczne Przekształcenia rzutowe Transformacja perspektywiczna Cztery punkty Przekształcenia nieliniowe



Przekształcenie pomocnicze W (P ) : R

2

→ R

2



A = W (Q)



−1

W (P )

P

0

P

1

P

2

P

3

1

1

W (P )

(19)

Przekształacenie W

Przekształcenia afiniczne Przekształcenia rzutowe Transformacja perspektywiczna Cztery punkty Przekształcenia nieliniowe



Rozkładamy W w iloczyn W (P ) = V (P )U (P ), gdzie



U (P ) będzie przekształceniem afinicznym,



V (P ) — rzutowym.

P

0

P

1

P

2

P

3

1

1

P

3

U (P )

1

P

3

1

V (P )

(20)

Przekształcenie U

Przekształcenia afiniczne Przekształcenia rzutowe Transformacja perspektywiczna Cztery punkty Przekształcenia nieliniowe



Przekształcenie U to zamiana standardowego układu

współrzędnych (O, i, j) na (P

0

, e

1

, e

2

).

P

0

P

1

e

1

P

2

e

2

P

3

O

1

1

P

3

U

(21)

Przekształcenie U

Przekształcenia afiniczne Przekształcenia rzutowe Transformacja perspektywiczna Cztery punkty Przekształcenia nieliniowe





e

1

e

2



=



i j



M =



i j



dx

1

dx

2

dy

1

dy

2

!

, gdzie



dx

k

= x

k

− x

0

, dy

k

= y

k

− y

0

, k = 1, 2, 3.





i j



=



e

1

e

2



M

−1

=



e

1

e

2



·

1

dy

2

−dx

2

−dy

1

dx

1

!

,

gdzie



∆ = det M = dx

1

dy

2

− dy

1

dx

2

.



W szczególności,

−−→

OP

0

=



e

1

e

2



M

−1

x

0

y

0

!

=



e

1

e

2



x

0

y

0

!

, gdzie



x

0

= (x

0

dy

2

− y

0

dx

2

)/∆,



y

0

= (−x

0

dy

1

+ y

0

dx

1

)/∆.

x

!

x − x

!

x

!

x

!

(22)

Macierz przekształcenia U

Przekształcenia afiniczne Przekształcenia rzutowe Transformacja perspektywiczna Cztery punkty Przekształcenia nieliniowe



U =

dy

2

dx

2

−x0

dy

2

+y

0

dx

2

dy

1

dx

1

x

0

dy

1−y0

dx

1

0

0

1

.



W szczególności, P

3

7→

x

3

y

3

!

=

1

dx

3

dy

2

− dy

3

dx

2

−dx

3

dy

1

+ dy

3

dx

1

!



Przekształcenie odwrotne U

−1

=

dx

1

dx

2

+x

0

dy

1

dy

2

+y

0

0

0

1



Stosowanie współrzędnych jednorodnych pozwala

zamienić U na prostszą macierz:

dy

2

−dx

2

−x

0

dy

2

+ y

0

dx

2

−dy

1

dx

1

x

0

dy

1

− y

0

dx

1

0

0

.

(23)

Przekształcenie V

Przekształcenia afiniczne Przekształcenia rzutowe Transformacja perspektywiczna Cztery punkty Przekształcenia nieliniowe



P

3

= (x

3

, y

3

), określone na slajdzie

22

1

1

P

3

1

1

V (P )

(24)

Równania na macierz V

Przekształcenia afiniczne Przekształcenia rzutowe Transformacja perspektywiczna Cztery punkty Przekształcenia nieliniowe



(0, 0) 7→ (0, 0):



a

13

= a

23

= 0, a

33

= 1.



(1, 0) 7→ (1, 0):



a

11

= λ

1

, a

21

= 0, a

31

+ 1 = λ

1

.



a

31

= a

11

− 1.



(1, 0) 7→ (1, 0):



a

12

= 0, a

22

= λ

2

, a

32

+ 1 = λ

2

.



a

32

= a

22

− 1.



P

3

7→ (1, 1)



a

11

x

3

= λ, a

22

y

3

= λ,

−x

3

− y

3

+ 1 = −λ.

(25)

Macierz V

Przekształcenia afiniczne Przekształcenia rzutowe Transformacja perspektywiczna Cztery punkty Przekształcenia nieliniowe



Rozwiązanie równań:

x

3

+y

3

−1

x

3

0

0

0

x

3

+y

3

−1

y

3

0

y

3

−1

x

3

x

3

−1

y

3

1



Inna postać macierzy V :

x

2

− x3

y

2

− y3

x

1

− x3

y

1

− y3

x

3

− x0

y

3

− y0

x

2

− x0

y

2

− y0

0

0

0

x

2

− x3

y

2

− y3

x

1

− x3

y

1

− y3

x

1

− x0

y

1

− y0

x

3

− x0

y

3

− y0

0

x

2

− x3

y

2

− y3

x

1

− x0

y

1

− y0

x

3

− x0

y

3

− y0

x

2

− x0

y

2

− y0

x

2

− x0

y

2

− y0

x

1

− x3

y

1

− y3

x

1

− x0

y

1

− y0

x

3

− x0

y

3

− y0

1

(26)

Macierz V

−1

Przekształcenia afiniczne Przekształcenia rzutowe Transformacja perspektywiczna Cztery punkty Przekształcenia nieliniowe



V

t

= T S, gdzie S jest skalowaniem, a T — przesunięciem

równoległym



(V

t

)

−1

= S

−1

T

−1



V

−1

= (V

t

)

−1



t

= (S

−1

T

−1

)

t



V

−1

=

x

3

x

3

+y

3

−1

0

0

0

y

3

x

3

+y

3

−1

0

1−y

3

x

3

+y

3

−1

1−x

3

x

3

+y

3

−1

1

x

3

0

0

0

y

3

0

1 − y

3

1 − x

3

x

3

+ y

3

− 1

(27)

Algorytm obliczenia przekształcenia

Przekształcenia afiniczne Przekształcenia rzutowe Transformacja perspektywiczna Cztery punkty Przekształcenia nieliniowe



P

j

= (x

j

, y

j

), Q

j

= (s

j

, t

j

), j = 0, . . . , 3

1. dx

j

= x

j

− x

0

, dy

j

= y

j

− y

0

, j = 1, 2, 3

2. ∆

p

= dx

1

dy

2

− dy

1

dx

2

3. x

3

=

dx

3

dy

2−dy3

dx

2

p

, y

3

=

−dx3

dy

1

+dy

3

dx

1

p

4. U (P ) =

dy

2

−dx

2

−x

0

dy

2

+ y

0

dx

2

−dy

1

dx

1

x

0

dy

1

− y

0

dx

1

0

0

p

5. V (P ) =

x

3

+y

3

−1

x

3

0

0

0

x

3

+y

3

−1

y

3

0

y

3

−1

x

3

x

3

−1

y

3

1

(28)

Algorytm obliczenia przekształcenia, cd

Przekształcenia afiniczne Przekształcenia rzutowe Transformacja perspektywiczna Cztery punkty Przekształcenia nieliniowe

6. ds

j

= s

j

− s

0

, dt

j

= t

j

− t

0

, j = 1, 2, 3

7. ∆

q

= ds

1

dt

2

− dt

1

ds

2

8. s

3

=

ds

3

dt

2

−dt3

q

ds

2

, t

3

=

−ds3

dt

1

+dt

q 3

ds

1

9. V

−1

(Q) =

s

3

0

0

0

t

3

0

1 − t

3

1 − s

3

t

3

+ s

3

− 1

10. U

−1

(Q) =

ds

1

ds

2

+s

0

dt

1

dt

2

+t

0

0

0

1

11. A = U

−1

(Q)V

−1

(Q)V (P )U (P )

12.

x

y

1

7→

λs

λt

λ

= A

x

y

1

7→

s

t

!

(29)

Uwagi

Przekształcenia afiniczne Przekształcenia rzutowe Transformacja perspektywiczna Cztery punkty Przekształcenia nieliniowe



Jeżeli punkty P tworzą kwadrat [0, 1] × [0, 1], to



U (P ) = V (P ) = I



A = U

−1

(Q)V

−1

(Q)



Jeżeli punkty Q tworzą kwadrat [0, 1] × [0, 1], to



U

−1

(Q) = V

−1

(Q) = I



A = V (P )U (P )

(30)

Przekształcenia nieliniowe

Przekształcenia afiniczne Przekształcenia rzutowe Przekształcenia nieliniowe Ogólne przekształcenia Wybuch

(31)

Ogólne przekształcenia

Przekształcenia afiniczne Przekształcenia rzutowe Przekształcenia nieliniowe Ogólne przekształcenia Wybuch



(x, y) 7→ (f (x, y), g(x, y))

(32)

Wybuch

Przekształcenia afiniczne Przekształcenia rzutowe Przekształcenia nieliniowe Ogólne przekształcenia Wybuch



We współrzędnych biegunowych (r, φ) 7→ (cr

k

, φ), gdzie

c > 0 jest stałą, k nazywa się

stopniem implozji



k > 0 — implozja



k < 0 — eksplozja



r =

p

x

2

+ y

2



x = r cos φ, y = r sin φ



cos φ =

x

r

, sin φ =

y

r

(33)

Przykład

Przekształcenia afiniczne Przekształcenia rzutowe Przekształcenia nieliniowe Ogólne przekształcenia Wybuch

Cytaty

Powiązane dokumenty

Wszystkie pierwiastki zespolone tworzą czworokąt foremny – kwadrat, którego środek znajduje się w punkcie (0,0) na płaszczyźnie zmiennej zespolonej (tzw. płaszczyźnie

Transformata Laplace’a jest funkcją zmiennej zespolonej s, holomorficzną w półpłaszczyźnie , gdzie jest wskaźnikiem

wykład z algebry liniowej Warszawa,

wykład z algebry liniowej Warszawa, pa´zdziernik 2018... Liniowo´s´c tak zdefiniowanego przekształcenia ϕ

Wskazac dwa kolejne przekształcenia elementarne wykresów, których złozenie przeprowadza wykres funkcji f na wykres funkcji

Na rysunku obok przedstawiony jest wykres

Otrzy- małeś w ten sposób wykres funkcji g.. a) Napisz wzór

Otrzymałeś w ten sposób wykres funkcji g.. a) Napisz wzór