Przetwarzanie i Kompresja Obrazów. 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 1 kwietnia 2016 1/33
geometryczne Najnowsza wersja tego dokumentu dostępna jest pod adresem http://users.pja.edu.pl/~denisjuk/ 2/33
Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie 3/33
Odbicie Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie (x,y) (1 x,y) (x,y) (x,1 y) 4/33
Skalowanie Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie (x,y) (λ 1 x,λ 2 y) Koniecznejestzastosowanieinterpolacji 5/33
Metoda najbliższego sąsiedztwa Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie f(x,y)=f(x i,y j ),gdzie x x i oraz y y j sąminimalne y (x 1,y 2 ) (x 2,y 2 ) (x,y) (x 1,y 1 ) (x 2,y 1 ) x 6/33
Interpolacja biliniowa Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie 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 1 x 2 x 1 =x x 1,β= y y 1 y 2 y 1 =y y 1 y (x 1,y 2 ) (x 2,y 2 ) α 1 α 1 β (x,y) β α 1 α (x 1,y 1 ) (x 2,y 1 ) x 7/33
Interpolacja bisześcienna Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie f(x,y)=f 0 +f 1 (y y 0 )+ 1 2 (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 ) y f 0,3 f 1,3 f 2,3 f 3,3 f 0,2 f 1,2 f 2,2 f 3,2 (x,y) f 0,1 f 1,1 f 2,1 f 3,1 f 0,0 f 1,0 f 2,0 f 3,0 x 8/33
Ponadto Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie Interpolacjazapomocąspline ów Interpolacjawdziedziniewidmowej 9/33
Obrót Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie (x,y) (xcosφ ysinφ,xsinφ+ycosφ) Dookołapoczątkuukładuwspółrzędnych dookołapunktu(x 0,y 0 )przekształceniejestdane cosφ sinφ x 0 cosφ+y 0 sinφ+x 0 macierzą: sinφ cosφ x 0 sinφ y 0 cosφ+y 0 0 0 1 10/33
Nachylenie do osi Ox Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie 1 tgφ 0 0 1 0 0 0 1 Względempoczątkuukładuwspółrzędnych Nachyleniewlewo dla ujemnych kątów w prawo 11/33
Nachylenie do osi Oy Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie 1 0 0 tgφ 1 0 0 0 1 Względempoczątkuukładuwspółrzędnych Nachyleniewlewo dla ujemnych kątów w prawo 12/33
Przesunięcie Odbicie Skalowanie Interpolacja Obrót Nachylenie Przesunięcie 1 0 x 0 1 y 0 0 1 13/33
Transformacja perspektywiczna Cztery punkty 14/33
Transformacja perspektywiczna Transformacja perspektywiczna Cztery punkty a 11 a 12 a 13 A= a 21 a 22 a 23 a 31 a 32 a 33 zazwyczajwymagasiędeta 0. czemu? 15/33
Transformacja po czterech punktach Transformacja perspektywiczna Cztery punkty Danesądwieczwórkipunktównapłaszczyźnie: P=(P 0,P 1,P 2,P 3 )orazq=(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, żea(p j )=Q j,j=0,...,3. P 2 P 3 Q 2 Q 3 Q 0 P 0 P 1 Q 1 16/33
Metoda algebraiczna Transformacja perspektywiczna Cztery punkty Rozwiązywaniejednorodnegoukładurównańliniowych 12 równań 13 zmiennych 17/33
Metoda geometryczna Transformacja perspektywiczna Cztery punkty PrzekształceniepomocniczeW(P):R 2 R 2 A= ( W(Q) ) 1 W(P) P 2 P 3 W(P) 1 P 0 P 1 1 18/33
Przekształacenie W Transformacja perspektywiczna Cztery punkty RozkładamyWwiloczynW(P)=V(P)U(P),gdzie U(P) będzie przekształceniem afinicznym, V(P) rzutowym. P 2 P 3 U(P) 1 P 3 P 0 P 1 1 P 3 1 1 V(P) 1 1 19/33
Przekształcenie U Transformacja perspektywiczna Cztery punkty PrzekształcenieUtozamianastandardowegoukładu współrzędnych(o,i,j)na(p 0,e 1,e 2 ). P 2 P 3 U 1 P 3 e 2 e 1 P 1 P 0 O 1 20/33
Przekształcenie U Transformacja perspektywiczna Cztery punkty (e 1 e 2 ) = ( ) i j M= ( ) ( dx i j 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 dy2 dx 2, dy 1 dx 1 gdzie =detm=dx 1 dy 2 dy 1 dx 2. Wszczególności, ( ) ) OP 0 = (e 1 e 2 M 1 x0 y 0 = ( ) ( ) x e 1 e 0 2 y 0,gdzie x 0 =(x 0dy 2 y 0 dx 2 )/, y 0 =( x 0dy 1 +y 0 dx 1 )/. ( ) ( ) ( ) x WięcU: M y 1 x x0 x =M y y 1 0 y ( x 0 y 0 ) 21/33
Macierz przekształcenia U Transformacja perspektywiczna Cztery punkty dy 2 dx 2 dy 1 dx 1 x 0 dy 2 +y 0 dx 2 x 0 dy 1 y 0 dx 1 U=. 0 0 1 ) ( ) x Wszczególności,P 3 ( 3 y 3 = 1 dx3 dy 2 dy 3 dx 2 dx 3 dy 1 +dy 3 dx 1 PrzekształcenieodwrotneU 1 dx 1 dx 2 +x 0 = dy 1 dy 2 +y 0 0 0 1 Stosowaniewspółrzędnychjednorodnychpozwala 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 22/33
Przekształcenie V P 3 =(x 3,y 3 ),określonenaslajdzie22 Transformacja perspektywiczna Cztery punkty 1 P 3 1 V(P) 1 1 23/33
Równania na macierz V Transformacja perspektywiczna Cztery punkty (0,0) (0,0): a 13 =a 23 =0,a 33 =1. (1,0) (1,0): a 11 =λ 1,a 21 =0,a 31 +1=λ 1. a 31 =a 11 1. (1,0) (1,0): a 12 =0,a 22 =λ 2,a 32 +1=λ 2. a 32 =a 22 1. P 3 (1,1) a 11 x 3 =λ, a 22y 3 =λ, x 3 y 3 +1= λ. 24/33
Macierz V Transformacja perspektywiczna Cztery punkty x 3 +y 3 1 x 0 0 3 x Rozwiązanierównań: 0 3 +y 3 1 y 0 3 y 3 1 x x 3 1 3 y 1 3 InnapostaćmacierzyV: x 2 x 3 y 2 y 3 x 1 x 3 y 1 y 3 x 0 0 3 x 0 y 3 y 0 x 2 x 0 y 2 y 0 x 2 x 3 y 2 y 3 x 1 x 3 y 1 y 3 0 x 0 1 x 0 y 1 y 0 x 3 x 0 y 3 y 0 x 2 x 3 y 2 y 3 x 1 x 0 y 1 y 0 x 2 x 0 y 2 y 0 x 1 x 3 y 1 y 3 x 3 x 0 y 3 y 0 x 2 x 0 y 2 y 0 x 1 1 x 0 y 1 y 0 x 3 x 0 y 3 y 0 25/33
MacierzV 1 Transformacja perspektywiczna Cztery punkty V t =TS,gdzieSjestskalowaniem,aT przesunięciem równoległym (V t ) 1 =S 1 T 1 V 1 = ( (V t ) 1) t =(S 1 T 1 ) t x 3 x 3 V 1 +y 3 1 0 0 y 3 = 0 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 26/33
Algorytm obliczenia przekształcenia Transformacja perspektywiczna Cztery punkty 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 3dy 2 dy 3 dx 2 p,y 3 = dx 3dy 1 +dy 3 dx 1 p dy 2 dx 2 x 0 dy 2 +y 0 dx 2 4. U(P)= dy 1 dx 1 x 0 dy 1 y 0 dx 1 0 0 p x 3 +y 3 1 x 0 0 3 x 5. V(P)= 0 3 +y 3 1 y 0 3 1 y 3 1 x 3 x 3 1 y 3 27/33
Algorytm obliczenia przekształcenia, cd Transformacja perspektywiczna Cztery punkty 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 3dt 2 dt 3 ds 2 q,t 3 = ds 3dt 1 +dt 3 ds 1 q s 9. V 1 3 0 0 (Q)= 0 t 3 0 1 t 3 1 s 3 t 3 +s 3 1 ds 1 ds 2 +s 0 10. U 1 (Q)= dt 1 dt 2 +t 0 0 0 1 11. A=U 1 (Q)V 1 (Q)V(P)U(P) x λs x () s 12. y λt =A y t 1 λ 1 28/33
Uwagi Transformacja perspektywiczna Cztery punkty JeżelipunktyPtworząkwadrat[0,1] [0,1],to U(P)=V(P)=I A=U 1 (Q)V 1 (Q) JeżelipunktyQtworząkwadrat[0,1] [0,1],to U 1 (Q)=V 1 (Q)=I A=V(P)U(P) 29/33
Ogólne przekształcenia Wybuch 30/33
Ogólne przekształcenia (x,y) (f(x,y),g(x,y)) Ogólne przekształcenia Wybuch 31/33
Wybuch Ogólne przekształcenia Wybuch Wewspółrzędnychbiegunowych(r,φ) (cr k,φ),gdzie c>0jeststałą,knazywasięstopniemimplozji k>0 implozja k<0 eksplozja r= x 2 +y 2 x=rcosφ,y=rsinφ cosφ= x r,sinφ=y r Zazwyczajobrazprzeskalowujesięnakwadrat[0,1] [0,1] 32/33
Przykład Ogólne przekształcenia Wybuch k=0,75 k= 0,75 33/33