Download presentation
Presentation is loading. Please wait.
1
Multimedia Programming 11: Image Warping
Departments of Digital Contents Sang Il Park
2
Outline Review: 확대/축소 회전 2x2 행렬 변형 동차좌표계 Affine(어파인) 변형
3
공고 - 중간고사 필기고사: 실기고사: Closed book 10월 15일 수요일 오후 7시 장소: 차후 홈페이지에 공고
Open Book 10월 20일 월요일 수업시간 장소: 실습실
4
Image Warping (이미지 변형) http://www.jeffrey-martin.com
15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz
5
Image Warping 이미지 필터링: 색 정보를 바꾸는 것 g(x) = T(f(x))
이미지 워핑: 그림의 모양을 바꾸는 것 g(x) = f(T(x)) f g T
6
매개변수 기반 (전역) 변형 매개변수 기반 워핑: 이동 회전 비율 변환 원통 변형 Affine Perspective
(어파인변형) Perspective (원근변형)
7
2x2 행렬 변형 (Matrix) 2x2 행렬로 표현 가능 한 변형? 2D Identity?
8
2x2 행렬 변형 (Matrix) 2x2 행렬로 표현 가능 한 변형? (0,0)을 중심으로하는 2D회전
2D Shear (쉬어링)
9
2x2 행렬 변형 (Matrix) 2x2 행렬로 표현 가능 한 변형? Y축 2D 대칭 원점 대칭
10
2x2 행렬 변형 (Matrix) NO! 2x2 행렬로 표현 가능 한 변형? 2D 차원 이동? 2x2 matrix 는 오직
2차원 선형변형만을 표현할 수 있다
11
모든 2D 선형 변형들 선형 변형들은 다음 변형들의 조합이다: 선형 변형의 특징: Scale, Rotation,
Shear, and Mirror 선형 변형의 특징: 원점은 원점으로 (변형 없음) 직선은 그대로 직선을 유지 (휘어지지 않는다) 평행한 직선은 변형 뒤에도 평행을 유지 선형변형을 조합한 것은 하나의 선형변형으로 표현 가능하다 거리의 비율이 유지된다
12
Homogeneous Coordinates (동차 좌표계)
Q: 이동을 표현하기 위해 3x3 행렬을 쓰는 건 어떨까?
13
Homogeneous Coordinates
2 차원 공간의 좌표를 표기하기 위해 3차원 벡터를 사용하는 것 (동차좌표)
14
Homogeneous Coordinates
Q: 이동을 표현하기 위해 3x3 행렬을 쓰는 건 어떨까? A: 동차좌표로 표현하면 이동 부분을 행렬의 오른쪽 부분에 나타낼 수 있다
15
Translation(이동) 이동의 예시: Homogeneous Coordinates(동차좌표) tx = 2 ty = 1
16
동차좌표의 정의 모든 2차원 좌표에 세번째 값을 추가한다 (x, y, w) 은 2차원 좌표 (x/w, y/w) 를 의미한다
(0, 0, 0) 은 사용하지 않는다 1 2 (2,1,1) or (4,2,2) or (6,3,3) x y 동차좌표계는 많은 유용한 변형을 표현할 수 있게 해주는 편리한 좌표계이다
17
기본적인 2차원 변형들 3x3 행렬들로 표현한 기본적인 2차원 변형들 Translate Scale Rotate
18
Affine Transformations (어파인 변형들)
어파인 변형은 다음 변형들의 조합이다: 선형 변형들 (확대/축소, 회전, …) 이동 변형 (Translation) 어파인 변형의 특징들: 원점이 변형된 후 반드시 원점으로 남아있진 않다. 직선은 그대로 직선을 유지 (휘어지지 않는다) 평행한 직선은 변형 뒤에도 평행을 유지 거리의 비율이 유지된다 선형변형을 조합한 것은 하나의 선형변형으로 표현 가능하다
19
Projective Transformations (투영 변형)
투영 변형은 다음 변형들의 조합이다: 어파인 변형 투형 변환 투영 변형의 특징은 다음과 같다 원점이 변형된 후 반드시 원점으로 남아있진 않다 직선은 그대로 직선을 유지 (휘어지지 않는다) 평행한 직선이 반드시 평형을 유지하진 않는다 거리의 비율이 반드시 유지되진 않는다 투영변형을 조합한 것은 하나의 투영변형으로 표현 가능하다
20
Matrix Composition (행렬조합)
다양한 변형들의 조합은 행렬의 곱을 통해 표현할 수 있다 p’ = T(tx,ty) R(Q) S(sx,sy) p 변형의 순서 먼저 확대/축소 다음으로 회전 마지막으로 이동했다 면?
21
역변형(Inverse Transformation)
Translate Scale Rotate
22
역변형(Inverse Transformation)
p’ = T(tx,ty) R(Q) S(sx,sy) p P = S-1(sx,sy) R-1(Q) T-1(tx,ty) p’
23
2D차원 영상의 다양한 변형들: 자유도 변형이름 형렬표현 유지하는 것
(필요변수수) 자유도 변형이름 형렬표현 유지하는 것 위 변형들은 위에서부터 아래의 순서대로 그 표현의 범위가 넓어진다 또한 각각의 변형들은 그들끼리의 조합이나 역변환을 한다 해도 결국 그 속한 변형의 종류이다.
24
코딩연습 그림의 중앙을 중심으로 원하는 각도 만큼 회전하는 프로그램을 만들어라. 힌트:
회전은 항상 원점(0,0)을 중심으로 이뤄진다 따라서 그림의 중심을 원점으로 옮긴 후 회전한다 이후 다시 원래의 위치로 보내준다 행렬의 곱을 이용해서 한꺼번에 수행해야 한다.
Similar presentations