Multimedia Programming 14: Image Warping 2

Slides:



Advertisements
Similar presentations
6 장. printf 와 scanf 함수에 대한 고찰 printf 함수 이야기 printf 는 문자열을 출력하는 함수이다. – 예제 printf1.c 참조 printf 는 특수 문자 출력이 가능하다. 특수 문자의 미 \a 경고음 소리 발생 \b 백스페이스 (backspace)
Advertisements

1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
Timer Department of Digital Contents Sang Il Park.
수학을 통해 배우는 IT 과학의 세계 전북대: 한상언 교수.
지적기초측량 경일대학교/부동산지적학과.
재료수치해석 HW # 박재혁.
Mathematics for Graphics
Multimedia Programming 05: Point Processing
OpenGL 발표일 : 발표자 : 조윤혜.
Two-Dimensional Geometric Transformations
기하학적 객체와 변환.
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
사원수 (Quaternion)
컴퓨터 프로그래밍 기초 [Final] 기말고사
7장. 투상변환과 뷰포트변환 학습목표 평행투상과 원근투상의 차이점을 이해한다. 가시부피 설정방식을 이해한다.
4장 기하학적 객체와 변환 – 변환 학습목표 예제 - 회전입방체 표준 변환을 배운다 동차좌표 변환행렬의 유도
Multimedia Programming 11: Image Warping
Multimedia Programming 10: Point Processing 5
비선형 방정식 김영광.
Chapter2 기술적 배경 지식 구희모 권영우.
Multimedia Programming 06: Point Processing 2
Tail-recursive Function, High-order Function
행렬 기본 개념 행렬의 연산 여러가지 행렬 행렬식 역행렬 연립 일차 방정식 부울행렬.
강원대학교 공과대학 제어계측공학과 2010년도 제2학기
11장. 1차원 배열.
주파수 영역에서의 이미지 처리 이미지의 주파수는 밝기의 변화하는 정도를 의미한다.
Register, Capacitor.
5. 단면의 성질 단면(section)이란 부재축(부재길이 방향)과 직교하는 면으로 절단한 평면을 말한다. 절단된 부재는 균일한 재료로 구성되어 있다고 가정한다. 구조부재가 힘을 받을 때, 그 부재의 응력도(stress)와 변형도(strain)를 구하기 위해 단면에 관한.
JA A V W. 03.
Chapter03 캔버스(1) HTML5 Programming.
벡터의 공간 이문현.
1차함수 - m, c 값의 크기와 양음의 변화에 따른 직선의 변화 2’17’’
수학 토론 대회 -도형의 세가지 무게중심 안다흰 임수빈.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express Slide 1 (of 22)
도형의 기초 3. 기본작도 삼각형의 작도 수직이등분선의 작도 각의 이등분선의 작도.
Computer Vision & Pattern Recognition Lab. 위 은 영 (월)
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
COMPUTER ANIMATION (Key Frame Animation)
8장. spss statistics 20의 데이터 변환
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
삼각형에서 평행선에 의하여 생기는 선분의 길이의 비
Choi Seong Yun 컴퓨터 프로그래밍 기초 #03 : 변수와 자료형 Choi Seong Yun
CAD 실습 2013년 2학기.
미분방정식.
Week 3-2: 데이터분포 3_2장_1(백분율:Percentile)에서 동영상 1,2
자동제어공학 3. 물리적 시스템의 상태방정식 정 우 용.
Window, Viewport Window, Viewport.
서울대학교 컴퓨터공학부 김명수 행렬과 2차원 변환 서울대학교 컴퓨터공학부 김명수
2장 변형률 변형률: 물체의 변형을 설명하고 나타내는 물리량 응력: 물체내의 내력을 설명하고 나타냄
에어 PHP 입문.
제5장 무차별곡선과 현시이론 5-1 무차별곡선.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
Chapter 1 단위, 물리량, 벡터.
Word2Vec.
학 습 목 표 직선의 방정식 직선의 방정식 두 직선의 위치 관계 두 직선의 교점을 지나는 직선 점과 직선 사이의 거리.
Chapter 1 단위, 물리량, 벡터.
공도의 실버라이트 하기 좋은 날 퍼스펙티브 3D로 깊이 있게.
3D 프린팅 프로그래밍 03 – 도형 회전 (손잡이컵 만들기) 강사: 김영준 목원대학교 겸임교수.
1. 정투상법 정투상법 정투상도 (1) 정투상의 원리
Summary of Pointers and Arrays
Numerical Analysis Programming using NRs
통계학 R을 이용한 분석 제 2 장 자료의 정리.
Learning HTML5 Canvas #2 Jeon Yong ju.
수치해석 ch3 환경공학과 김지숙.
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
Docker Study 6~7.
Lecture #6 제 4 장. 기하학적 객체와 변환 (1).
BoardGame 보드게임 따라가기.
Presentation transcript:

Multimedia Programming 14: Image Warping 2 Departments of Digital Contents Sang Il Park

Image Warping (이미지 변형) http://www.jeffrey-martin.com 15-463: Computational Photography Alexei Efros, CMU, Fall 2006 Some slides from Steve Seitz

매개변수 기반 (전역) 변형 매개변수 기반 워핑: 이동 회전 비율 변환 원통 변형 Affine Perspective (어파인변형) Perspective (원근변형)

매개변수 기반 (전역) 변형 변형(Transformation) T 이라는 것은 좌표의 값을 바꾸어 주는 것을 의미한다 p = (x,y) p’ = (x’,y’) 변형(Transformation) T 이라는 것은 좌표의 값을 바꾸어 주는 것을 의미한다 p’ = T(p) 변형T 가 전역이라는 의미는?? 모든 좌표 p에 대해 변형 값이 동일 함을 의미 따라서 몇 개의 계수로 표현 가능 (매개변수)

Scaling Scaling operation: (확대/축소 연산) 같은 연산의 matrix form: (행렬 표현법) scaling matrix S What’s inverse of S?

Inverse transformation (역변형) p = (x,y) p’ = (x’,y’) p = T -1(p’ ) 역변형(Inverse transformation) T-1 은 어떤 변형 T의 반대 작용을 의미한다.

scaling S 의 역변환 Scaling operation S: Inverse of a S: In a matrix form: scaling matrix S-1

 2-D 회전 (Rotation) (x’, y’) (x, y) x’ = x cos() - y sin() y’ = x sin() + y cos()

 2-D Rotation (x’, y’) (x, y) f x = r cos (f) y = r sin (f) 코사인 법칙/사인법칙 적용 x’ = r cos(f) cos() – r sin(f) sin() y’ = r cos(f) sin() + r sin(f) cos() 치환 x’ = x cos() - y sin() y’ = x sin() + y cos()  (x, y) (x’, y’) f

2-D Rotation 2차원 회전은 행렬로 쉽게 표현된다: sin(q) 과 cos(q) 은 각도 q 에 대한 비선형 함수이지만, q가 정해지면: x’ 는 x 와 y의 선형식(1차식) 으로 표현됨 y’ 는 x 와 y의 선형식 (1차식) 으로 표현됨 R

2-D 회전의 역변환 –q 만큼 회전하기:

2x2 행렬 변형 (Matrix) 2x2 행렬로 표현 가능 한 변형? 2D Identity?

2x2 행렬 변형 (Matrix) 2x2 행렬로 표현 가능 한 변형? (0,0)을 중심으로하는 2D회전 2D Shear (쉬어링)

2x2 행렬 변형 (Matrix) 2x2 행렬로 표현 가능 한 변형? Y축 2D 대칭 원점 대칭

2x2 행렬 변형 (Matrix) NO! 2x2 행렬로 표현 가능 한 변형? 2D 차원 이동? 2x2 matrix 는 오직 2차원 선형변형만을 표현할 수 있다

모든 2D 선형 변형들 선형 변형들은 다음 변형들의 조합이다: 선형 변형의 특징: Scale, Rotation, Shear, and Mirror 선형 변형의 특징: 원점은 원점으로 (변형 없음) 직선은 그대로 직선을 유지 (휘어지지 않는다) 평행한 직선은 변형 뒤에도 평행을 유지 선형변형을 조합한 것은 하나의 선형변형으로 표현 가능하다 거리의 비율이 유지된다

Homogeneous Coordinates 2 차원 공간의 좌표를 표기하기 위해 3차원 벡터를 사용하는 것 (동차좌표)

Homogeneous Coordinates Q: 이동을 표현하기 위해 3x3 행렬을 쓰는 건 어떨까? A: 동차좌표로 표현하면 이동 부분을 행렬의 오른쪽 부분에 나타낼 수 있다

Translation(이동) 이동의 예시: Homogeneous Coordinates(동차좌표) tx = 2 ty = 1

동차좌표의 정의 모든 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 동차좌표계는 많은 유용한 변형을 표현할 수 있게 해주는 편리한 좌표계이다

기본적인 2차원 변형들 3x3 행렬들로 표현한 기본적인 2차원 변형들 Translate Scale Rotate

Affine Transformations (어파인 변형들) 어파인 변형은 다음 변형들의 조합이다: 선형 변형들 (확대/축소, 회전, …) 이동 변형 (Translation) 어파인 변형의 특징들: 원점이 변형된 후 반드시 원점으로 남아있진 않다. 직선은 그대로 직선을 유지 (휘어지지 않는다) 평행한 직선은 변형 뒤에도 평행을 유지 거리의 비율이 유지된다 선형변형을 조합한 것은 하나의 선형변형으로 표현 가능하다

Projective Transformations (투영 변형) 투영 변형은 다음 변형들의 조합이다: 어파인 변형 투형 변환 투영 변형의 특징은 다음과 같다 원점이 변형된 후 반드시 원점으로 남아있진 않다 직선은 그대로 직선을 유지 (휘어지지 않는다) 평행한 직선이 반드시 평형을 유지하진 않는다 거리의 비율이 반드시 유지되진 않는다 투영변형을 조합한 것은 하나의 투영변형으로 표현 가능하다

Matrix Composition (행렬조합) 다양한 변형들의 조합은 행렬의 곱을 통해 표현할 수 있다 p’ = T(tx,ty) R(Q) S(sx,sy) p 변형의 순서 먼저 확대/축소 다음으로 회전 마지막으로 이동했다 면?

역변형(Inverse Transformation) Translate Scale Rotate

역변형(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’

2D차원 영상의 다양한 변형들: 자유도 변형이름 형렬표현 유지하는 것 (필요변수수) 자유도 변형이름 형렬표현 유지하는 것 위 변형들은 위에서부터 아래의 순서대로 그 표현의 범위가 넓어진다 또한 각각의 변형들은 그들끼리의 조합이나 역변환을 한다 해도 결국 그 속한 변형의 종류이다.

코딩연습 그림의 중앙을 중심으로 원하는 각도 만큼 회전하는 프로그램을 만들어라. 힌트: 회전은 항상 원점(0,0)을 중심으로 이뤄진다 따라서 그림의 중심을 원점으로 옮긴 후 회전한다 이후 다시 원래의 위치로 보내준다 행렬의 곱을 이용해서 한꺼번에 수행해야 한다.