Multimedia Programming 19: Image Composition

Slides:



Advertisements
Similar presentations
농도 퍼센트 농도 용액 (2) 내 안에 너 있다 !. 학습 목표 용액의 묽고 진한 정도를 결정하는 요인을 설 명할 수 있다.
Advertisements

변수와 조건문 빛나리 36 호 박승운. 파이썬 쉽게 사용하기 Python IDLE 사용 FILE - New File 로 파일 만들기 Run – Run Module 로 실행하기.
1/ 편집 기능 사용하기 – 실습 1 글자 모양을 바꾸고 싶은 곳을 블록 설정 [ 글자 모양 ] 대화 상자에서 [ 글꼴 ] ‘ 궁서체 ’, [ 글자 색 ] ‘ 토마토색 ’ 으로 선택 → [ 설정 ] 클릭 → 글자 모양 변경.
Timer Department of Digital Contents Sang Il Park.
수치해석 (Numerical Analysis) 보간법 (Interpolation). Page 2 보간법 (Interpolation) In this chapter … 보간법이란 ? 통계적 혹은 실험적으로 구해진 데이터들 (x i ) 로부터, 주어진 데이터를 만족하는 근사.
대림대학교 2017년도 1학기 강의 왕보현 순서도와 스크래치 5주차 대림대학교 2017년도 1학기 강의 왕보현
적분방법의 연속방정식으로부터 Q=AV 방정식을 도출하라.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
색좌표 변환기의 설계 예 색좌표(Color Space) 색의 수학적인 표현 방법 RGB YIQ, YUV, YCbCr CMYK
Image & Video processing
신호처리 실험 (Signal Processing Lab)
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
(Numerical Analysis of Nonlinear Equation)
Image Compositing 고려대학교 그래픽스연구실 발표자 : 박 경 와.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
Multimedia Programming 16: Image Morphing
나민영 서경대학교 컴퓨터공학과 CGVR Lab 같이만들어보자 5주차 OpenCV 설정 및 기초.
Multimedia Programming 06: Point Processing3
Vector Bubble 충돌 검출 게임 설계 3조 강준순, 김훈석, 복현태.
전기에 대해 알아보자 영화초등학교 조원석.
프로세싱 게임 메이킹 자바실험실 JavaLab.org 이동준.
질의 사항 Yield Criteria (1) 소재가 평면응력상태에 놓였을 때(σ3=0), 최대전단응력조건과 전단변형에너지 조건은σ1 – σ2 평면에서 각각 어떤 식으로 표시되는가? (2) σ1 =σ2인 등이축인장에서 σ = Kεn로 주어지는 재료의 네킹시 변형율을 구하라.
1. C++ 시작하기.
정량펌프를 이용한 액체유량 측정 및 calibration curve 작성
Multimedia Programming 23: Matting
Multimedia Programming 23: Matting
Multimedia Programming 10: Point Processing 5
CAS (Computer Algebra System) 소개
(생각열기) 옷가게에서 옷을 살 때와 옥가게 밖으로 나와 서 옷을 볼 때 옷 색이 달라져 보이는 이유는?
10강_CSS 속성-I CSS3 단위 url() display 속성 visibility 속성 opacity 속성
이미지 포렌식 작성자: liberte97.
JA A V W. 03.
프로그래밍 개요
Multimedia Programming 10: Unsharp Masking/ Histogram Equalization
FRF 해석 방법 문의 국민대학교 연락처 :
군집 분석.
Multimedia Programming 17: Matting and Compositing
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
문제 2명의 사형수가 있다. 둘에게는 검정색 모자와 흰색 모자를 임의로 씌우는데, 자기가 쓴 모자의 색은 절대로 알 수가 없다. 서로 상대의 모자색만을 볼 수 있고, 이들이 살기 위해선 자신의 쓴 색의 모자를 맞춰야 한다. 단, 둘 중 한명만이라도 자신이 쓴 모자의 색을.
Quiz #7 다음 수들을 합병 정렬과 퀵 정렬 알고리즘을 이용하여 오름 차순으로 정렬하였을 때, 데이터 이동 회수를 각각 구하라. 여러분은 정렬 과정을 단계별로 보이면서 이동 회수를 추적해야 한다. 단, 퀵 정렬시에 피봇으로 배열의 왼쪽 첫 번째 원소를 선택한다. 5.
Data Structure Study Summer vacation
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
1차시: 낮과 밤이 생기는 원리 지구과학
스위시 맥스2 이미지 갤러리 만들기 아래 그림이 스위시 맥스2로 만들 이미지 갤러리 이다.
PADS Logic 회로도.
P 등속 직선 운동 생각열기 – 자동차를 타고 고속도로를 달릴 때, 속력계 바늘이 일정한 눈금을 가리키며 움직이지 않을 때가 있다. 이 때 자동차의 속력은 어떠할까? ( 속력이 일정하다 .)
빌드 성공.
CAS (Computer Algebra System) 소개
수학10-나 1학년 2학기 Ⅳ.삼각함수 4. 삼각방정식과 삼각부등식(9/12) 삼각함수 수업계획 수업활동.
알고리즘 알고리즘이란 무엇인가?.
단축키 기능 1. 단축키 기능 설명 Alt + R 조회 S 저장 I 삽입 A 추가 D 삭제 P 출력 Q 닫기
에어 PHP 입문.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
(생각열기) 요리를 할 때 뚝배기로 하면 식탁에 올라온 후에도 오랫동 안 음식이 뜨거운 상태를 유지하게 된다. 그 이유는?
영상처리 실습 (OpenCV + MFC) Chonbuk National University A.I. Lab.
Flow Diagram IV While.
1. 정투상법 정투상법 정투상도 (1) 정투상의 원리
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
12 그리드 시스템.
상관계수.
컴퓨터공학과 손민정 Computer Graphics Lab 이승용 교수님
수치해석 ch3 환경공학과 김지숙.
컴퓨터는 어떻게 덧셈, 뺄셈을 할까? 2011년 10월 5일 정동욱.
Power Point 예제 디자인 적용 (서식) - (디자인적용) - (원하는 디자인 선택)
그래픽 컨트롤 (Graphic Control)
Report #2 (기한: 3/16) 데이터 구조 과목의 수강생이 50명이라고 가정한다. 이 학생(학번은 2016????으로 표현됨)들의 중간 시험(0~100), 기말 시험(0~100) 성적을 성적 파일에 작성하라(프로그램을 통해서 또는 수작업으로). 성적 파일을 읽어들여서.
논리회로 설계 및 실험 8주차.
Presentation transcript:

Multimedia Programming 19: Image Composition Departments of Digital Contents Sang Il Park

Outline Review: Interactive Image Morphing Matting and Compositing

Interactive Image Morphing

마우스를 이용한 이미지 변형 한 점을 선택하고 이동

마우스를 이용한 이미지 변형 한 점을 선택하고 이동

마우스를 이용한 이미지 변형 한 점을 선택하고 이동

선형 보간: Linear Interpolation 중간 위치에서의 변형량은 어떻게 될까? 1-α α 고정 ? 이동

마우스를 이용한 이미지 변형 한 점을 선택하고 이동

마우스를 이용한 이미지 변형 한 점을 선택하고 이동 ?

마우스를 이용한 이미지 변형 한 점을 선택하고 이동

이중 선형 보간: Bilinear interpolation (x,y)에서의 변형량은?

마우스를 이용한 이미지 변형 한 점을 선택하고 이동 ?

Programming Assignment #3 물방울

Programming Assignment #3 물방울 그리는 프로그램 만들기 지원 해야 할 기능 (예제 프로그램 참고) 이미지를 받아 들인다. 마우스 왼쪽 버튼을 통해 물방울을 생성한다 마우스 오른 버튼을 통해 조명의 방향이나 느낌을 바꾼다 왼쪽 버튼으로 물방울 생성 오른쪽 버튼으로 조명 설정

Programming Assignment #3 물방울 그리는 프로그램 만들기 지원 해야 할 기능 (예제 프로그램 참고) 이미지를 받아 들인다. 마우스 왼쪽 버튼을 통해 물방울을 생성한다 마우스 오른 버튼을 통해 조명의 방향이나 느낌을 바꾼다 왼쪽 버튼으로 물방울 생성 오른쪽 버튼으로 조명 설정

Program Assignment #3 숙제 기한: Dec.11 PM 23:59 점수: Email 제출 : sipark@sejong.ac.kr Report ( doc, hwp, pdf) Source code (cpp 파일) 만약 afxstd.h 이외의 h 파일이 필요 하다면 첨부할 것 점수: 주석 및 리포트: 20 물방울이 그려진다: 40 조명 효과: 40 추가점수: 물방울 합치기, 물방울 흘러내리기 효과 (100)

Matting & compositing

How does Superman fly? Super-human powers? OR Image Matting and Compositing?

Image Compositing (영상합성)

Compositing Procedure (합성과정) 1. 스프라이트 만들기 (Sprite = Image + Mask Image ) 2. 스프라이트를 배경과 합성하기 (투명도를 이용한 Iinear Interpolation) α

Compositing: Two Issues 1. 반투명 (Semi-transparent) 물체의 표현? 2. 픽셀이 물체보다 클 경우?

투명도 값: 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

Compositing Procedure 1-α α

다중 합성: Multiple Compositing 1. 스프라이트 추출 (예: 포토샵의 Intelligent Scissors 활용) 2. 올바른 순서로 합성한다. (배경부터 차래 대로) Composite by David Dewey

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

“Pulling a Matte”: 매팅 문제 문제 정의: 주어진 입력 이미지 C 를 다음과 같이 나누는 것 전경이미지 Co, 배경이미지 Cb, 투명도 값 a Co 와 a 를 구하면 다른 배경이미지에 합성하는 데 사용할 수 있다. 그러나… 어려운 문제이다. 투명도가 2단계(투명/불투명)이라 할 지라도 자동으로 하긴 어렵다. (배경 추출 문제) 영화나 TV에 활용하기 위해서는 수작업을 통해 일일이 다 고치는 것은 불가능하다. 뭔가, 간단화 시키는 가정이 필요하다.

Blue Screen

The Ultimatte p1 and p2

Blue screen for superman?

Blue Screen matting TV나 영화에 가장 많이 사용되는 matting 기법 Petros Vlahos 가 1950년대에 발명한 것으로 그 당시의 제품명인 Ultimatte® 는 아직도 matting 기기 중 제일 유명하다. 이러한 공로로 Vlahos는 아카데미 평생공로상을 수상하였다. 배경 추출 방법: 배경의 색을 알고 있다면… 투명도를 다음과 같이 구한다. Vlahos’ formula: a = 1-p1(B-p2G) 배경과 전경의 색은 달라야 한다. no blue ties!

반투명 매팅 유리와 같은 반투명한 물질의 색 (R,G,B)과 투명도(alpha)는 어떻게 구할 수 있을까?

매팅 문제: 수학적 정의 C = αoCo + (1-αo)Ck 이미지의 모든 픽셀에 대해 주어진 것: 매팅 방정식 만족: - 배경색 Ck = [Rk Gk Bk] - 합성된 색 C = [R G B] 계산할 것: - 전경(물체) 색 Co = [Ro Go Bo αo] - 주어진 조건 매팅 방정식 만족: C = αoCo + (1-αo)Ck

어떻게 풀 수 있을까? 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 무수히 많은 해가 존재 다른 조건(식)이 필요하다!

풀이방법 #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)

풀이방법 #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)  풀이 가능

삼각화 매팅 (Smith & Blinn) C = αoCo + (1-αo)Ck 매팅 방정식: 구해야 할 수의 개수를 줄이는 대신 방정식의 수를 늘리면 어떨까? 물체는 같지만 배경의 색을 달리하여 여러 번 측정 한다면? 생각해 봐야 할점: 얼마나 많은 방정식(배경색)이 필요할까? 배경은 단색이어야 할까?

알고리즘 이미지의 모든 픽셀에 대해 주어진 것: 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] - 6개의 방정식 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

삼각화 매팅 예제

더 많은 예제!

좀 더 많은 예제!