Download presentation
Presentation is loading. Please wait.
1
Multimedia Programming 19: Image Composition
Departments of Digital Contents Sang Il Park
2
Outline Review: Interactive Image Morphing Matting and Compositing
3
Interactive Image Morphing
4
마우스를 이용한 이미지 변형 한 점을 선택하고 이동
5
마우스를 이용한 이미지 변형 한 점을 선택하고 이동
6
마우스를 이용한 이미지 변형 한 점을 선택하고 이동
7
선형 보간: Linear Interpolation
중간 위치에서의 변형량은 어떻게 될까? 1-α α 고정 ? 이동
8
마우스를 이용한 이미지 변형 한 점을 선택하고 이동
9
마우스를 이용한 이미지 변형 한 점을 선택하고 이동 ?
10
마우스를 이용한 이미지 변형 한 점을 선택하고 이동
11
이중 선형 보간: Bilinear interpolation
(x,y)에서의 변형량은?
12
마우스를 이용한 이미지 변형 한 점을 선택하고 이동 ?
13
Programming Assignment #3
물방울
14
Programming Assignment #3
물방울 그리는 프로그램 만들기 지원 해야 할 기능 (예제 프로그램 참고) 이미지를 받아 들인다. 마우스 왼쪽 버튼을 통해 물방울을 생성한다 마우스 오른 버튼을 통해 조명의 방향이나 느낌을 바꾼다 왼쪽 버튼으로 물방울 생성 오른쪽 버튼으로 조명 설정
15
Programming Assignment #3
물방울 그리는 프로그램 만들기 지원 해야 할 기능 (예제 프로그램 참고) 이미지를 받아 들인다. 마우스 왼쪽 버튼을 통해 물방울을 생성한다 마우스 오른 버튼을 통해 조명의 방향이나 느낌을 바꾼다 왼쪽 버튼으로 물방울 생성 오른쪽 버튼으로 조명 설정
16
Program Assignment #3 숙제 기한: Dec.11 PM 23:59 점수:
제출 : Report ( doc, hwp, pdf) Source code (cpp 파일) 만약 afxstd.h 이외의 h 파일이 필요 하다면 첨부할 것 점수: 주석 및 리포트: 20 물방울이 그려진다: 40 조명 효과: 40 추가점수: 물방울 합치기, 물방울 흘러내리기 효과 (100)
17
Matting & compositing
18
How does Superman fly? Super-human powers? OR
Image Matting and Compositing?
19
Image Compositing (영상합성)
20
Compositing Procedure (합성과정)
1. 스프라이트 만들기 (Sprite = Image + Mask Image ) 2. 스프라이트를 배경과 합성하기 (투명도를 이용한 Iinear Interpolation) α
21
Compositing: Two Issues
1. 반투명 (Semi-transparent) 물체의 표현? 2. 픽셀이 물체보다 클 경우?
22
투명도 값: alpha channel 색 외에 또 다른 정보: 투명도
Image(R,G,B,alpha) Sprite! 빛이 얼마나 투과하는 가를 의미한다 (또는 물체가 한 픽셀을 얼마나 가리는 가를 의미): Alpha = 1: opaque object (complete coverage) Alpha = 0: transparent object (no coverage) 0<Alpha<1: semi-transparent (partial coverage) Example: alpha = 0.7 semi-transparency or Partial coverage
23
Compositing Procedure
1-α α
24
다중 합성: Multiple Compositing
1. 스프라이트 추출 (예: 포토샵의 Intelligent Scissors 활용) 2. 올바른 순서로 합성한다. (배경부터 차래 대로) Composite by David Dewey
25
Multiple Alpha Blending
So far we assumed that one image (background) is opaque. If blending semi-transparent sprites (the “A over B” operation): Icomp = aaIa + (1-aa)abIb acomp = aa + (1-aa)ab
26
“Pulling a Matte”: 매팅 문제
문제 정의: 주어진 입력 이미지 C 를 다음과 같이 나누는 것 전경이미지 Co, 배경이미지 Cb, 투명도 값 a Co 와 a 를 구하면 다른 배경이미지에 합성하는 데 사용할 수 있다. 그러나… 어려운 문제이다. 투명도가 2단계(투명/불투명)이라 할 지라도 자동으로 하긴 어렵다. (배경 추출 문제) 영화나 TV에 활용하기 위해서는 수작업을 통해 일일이 다 고치는 것은 불가능하다. 뭔가, 간단화 시키는 가정이 필요하다.
27
Blue Screen
28
The Ultimatte p1 and p2
29
Blue screen for superman?
30
Blue Screen matting TV나 영화에 가장 많이 사용되는 matting 기법
Petros Vlahos 가 1950년대에 발명한 것으로 그 당시의 제품명인 Ultimatte® 는 아직도 matting 기기 중 제일 유명하다. 이러한 공로로 Vlahos는 아카데미 평생공로상을 수상하였다. 배경 추출 방법: 배경의 색을 알고 있다면… 투명도를 다음과 같이 구한다. Vlahos’ formula: a = 1-p1(B-p2G) 배경과 전경의 색은 달라야 한다. no blue ties!
31
반투명 매팅 유리와 같은 반투명한 물질의 색 (R,G,B)과 투명도(alpha)는 어떻게 구할 수 있을까?
32
매팅 문제: 수학적 정의 C = αoCo + (1-αo)Ck 이미지의 모든 픽셀에 대해 주어진 것: 매팅 방정식 만족:
- 배경색 Ck = [Rk Gk Bk] - 합성된 색 C = [R G B] 계산할 것: - 전경(물체) 색 Co = [Ro Go Bo αo] - 주어진 조건 매팅 방정식 만족: C = αoCo + (1-αo)Ck
33
어떻게 풀 수 있을까? C = αoCo + (1-αo)Ck R = αoRo + (1-αo)Rk
매팅 방정식: C = αoCo + (1-αo)Ck 주어진 색(측정한 색)은 [R G B]. 따라서 주어진 식은 3개, 구해야 하는 것은 [Ro, Go, Bo, αo] 4개 R = αoRo + (1-αo)Rk G = αoGo + (1-αo)Gk B = αoBo + (1-αo)Bk 무수히 많은 해가 존재 다른 조건(식)이 필요하다!
34
풀이방법 #1: 파랑색이 없다! C = αoCo + (1-αo)Ck R = αoRo + (1-αo)Rk
매팅 방정식: C = αoCo + (1-αo)Ck 만약에 전경(물체)에 파랑색이 없다는 가정을 할 수 있다면? (즉 Bo = 0 ) 3개의 방정식, 3개의 모르는 값 풀이 가능 R = αoRo + (1-αo)Rk G = αoGo + (1-αo)Gk B = (1-αo)Bk 3. Ro 를 구한다 2. Go 를 구한다 1. αo를 구한다 문제점: 가정이 너무 강하다! 파랑색이 없인 모든 회색, 색의 1/3 을 표현할 수 없다 흰색을 표현 못한다 (255,255,255)
35
풀이방법 #2: 회색 or 살색? C = αoCo + (1-αo)Ck 매팅 방정식:
만약 전경(물체)가 회색이라면? 즉 (Ro = Go = Bo=d) 3개의 방정식, 2개의 모르는 값(Ro, αo) 풀이 가능 살색은 보통 [R B B] = [d 0.5d 0.5d] 로 표현 d에 따라 살색의 진함, 밝음을 표현 3개의 방정식, 2개의 모르는 값(d, αo) 풀이 가능
36
삼각화 매팅 (Smith & Blinn) C = αoCo + (1-αo)Ck 매팅 방정식:
구해야 할 수의 개수를 줄이는 대신 방정식의 수를 늘리면 어떨까? 물체는 같지만 배경의 색을 달리하여 여러 번 측정 한다면? 생각해 봐야 할점: 얼마나 많은 방정식(배경색)이 필요할까? 배경은 단색이어야 할까?
37
알고리즘 이미지의 모든 픽셀에 대해 주어진 것: R1 = αoRo + (1-αo)Rk1 R2 = αoRo + (1-αo)Rk2
- 배경색 Ck1 = [Rk1 Gk1 Bk1] - 배경색 Ck2 = [Rk2 Gk2 Bk2] - 합성된 색 C1 = [R1 G1 B1] - 합성된 색 C2 = [R2 G2 B2] 계산할 것: - 전경(물체) 색 Co = [Ro Go Bo αo] 개의 방정식 R1 = αoRo + (1-αo)Rk1 G1 = αoGo + (1-αo)Gk1 B1 = αoBo + (1-αo)Bk1 R2 = αoRo + (1-αo)Rk2 G2 = αoGo + (1-αo)Gk2 B2 = αoBo + (1-αo)Bk2
38
삼각화 매팅 예제
39
더 많은 예제!
40
좀 더 많은 예제!
Similar presentations