Multimedia Programming 16: Image Morphing

Slides:



Advertisements
Similar presentations
Timer Department of Digital Contents Sang Il Park.
Advertisements

Department of Digital Contents Sang Il Park
Multimedia Programming 14: Image Warping 2
어서와 Java는 처음이지! 제20장 실전프로젝트 #2.
Multimedia Programming 04: Point Processing Departments of Digital Contents Sang Il Park.
Multimedia Programming 05: Point Processing
순차, 조건, 반복 이점숙 농대 뒷편 언덕을 넘어가며 같은 문제 다르게 해결 순차, 조건, 반복 이점숙
순차, 조건, 반복 이점숙 같은 문제 다르게 해결하기 순차, 조건, 반복 이점숙
Chapter 3 데이터와 신호 (Data and Signals).
Image Compositing 고려대학교 그래픽스연구실 발표자 : 박 경 와.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
A SMALL TRUTH TO MAKE LIFE 100%
자기소개서 동서대학교 멀티미디어공학 전남용.
Internet Computing KUT Youn-Hee Han
Multimedia Programming 05: Point Processing
Multimedia Programming 04: 점, 선, 면
Multimedia Programming 11: Histogram Equalization/ Image Halftoning
Multimedia Programming 9: Text, Mouse Callback and Drawing
나민영 서경대학교 컴퓨터공학과 CGVR Lab 같이만들어보자 5주차 OpenCV 설정 및 기초.
Multimedia Programming 11: Point Processing 6
Multimedia Programming 06: Point Processing3
Multimedia Programming 18: GraphEditor
Multimedia Programming 11: Image Warping
마우스(Mouse) 다루기 컴퓨터응용 및 실습 I.
3D Vision Lecture 7 동작 이해 (광류).
1. C++ 시작하기.
Multimedia Programming 23: Matting
Multimedia Programming 23: Matting
Multimedia Programming 10: Point Processing 5
Multimedia Programming 19: Mouse with OpenCV
Ch3.전압법칙과 전류법칙 KCL, KVL, 직렬회로, 병렬회로, 전압분배, 전류분배
A SMALL TRUTH TO MAKE LIFE 100%
Multimedia Programming 06: Point Processing 2
제 1장. 멀티미디어 시스템 개요.
Multimedia Programming 19: Image Composition
이미지 포렌식 작성자: liberte97.
Multimedia Programming 10: Unsharp Masking/ Histogram Equalization
인터넷응용프로그래밍 JavaScript(Intro).
파이프라이닝.
SEP 1 Unit 05 / 06 Unit 05 Pattern 05-1
‘복지TV’ 복지스타미디어 소개서 ㈜복지스타미디어 TV 방송프로그램 제작 광고 / 행사 기획연출
Multimedia Programming 17: Matting and Compositing
안전교육 수호천사 공공장소에서 안전 1.
Red Color Detection Course ChanYoung Kim
Course Guide - Algorithms and Practice -
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
인터넷응용프로그래밍 JavaScript(Intro).
9. Do You Have a Scientific Mind?
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
1차시: 낮과 밤이 생기는 원리 지구과학
스위시 맥스2 이미지 갤러리 만들기 아래 그림이 스위시 맥스2로 만들 이미지 갤러리 이다.
COMPUTER ANIMATION (Key Frame Animation)
Tween Animation 천승현.
01 로그의 정의 ⑴ 일 때, 양수 에 대하여 을 만족시키는 실수 는 오직 하나 존재한다. 이때 를
MATLAB Image Processing Toolbox
이산수학(Discrete Mathematics)
/happygwedu/ 보건복지부 발표 전국 18세 미만 아동을 양육하는 4천여 가구를 대상으로 한,
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
7. Quicksort.
영상처리 실습 (OpenCV + MFC) Chonbuk National University A.I. Lab.
The general form of 0-1 programming problem based on DNA computing
서울시 도시및주거환경정비조례 개정(안) 시의회 보고.
하나샵에서 ALL KILL 기획서 하나샵 E-커머스팀 양희연.
5. 영상 합성.
A SMALL TRUTH TO MAKE LIFE 100%
그래픽 컨트롤 (Graphic Control)
TCP/IP를 이용한 마우스 공유 (Synergy 따라하기)
Lecture #6 제 4 장. 기하학적 객체와 변환 (1).
Speaking -여섯 번째 강의 (Review ) RACHEL 선생님
Presentation transcript:

Multimedia Programming 16: Image Morphing Departments of Digital Contents Sang Il Park

Outline Review: Interactive Image Morphing Matting and Compositing

Example: 삼각형간의 변형 B B’ ? T(x,y) C’ A C A’ Source Destination 두 2차원상의 삼각형 ABC 와 A’B’C’ 가 주어졌다면, (3개의 점) * (점당 x, y 좌표)  6개의 관계식 공간 상의 모든 점들의 위치를 변환시키는 변환 T 는 무엇? 결국 변환 T는 다음의 어파인 행렬로 표현 가능하다:

Interactive Image Morphing

마우스 콜백 사용하기 OpenCV에서는 사용자가 임의의 함수를 만들고 이를 마우스에 변화가 생겼을 때 호출되게 할 수 있다. 이를 위해서는 다음 2가지 일을 하여야 한다: 구현(Implementation) 마우스에 변화가 생겼을 때 무엇을 할 것인가?를 정의함. 등록(Registration) 위에 정의한 함수를 opencv에게 사용하겠다고 등록시킴. void yourFunction (int event, int x, int y, int flags, void *param); void cvSetMouseCallback(window_name, yourFunction)

Implementation OpenCV가 넘겨주는 메세지 어떤 마우스 관련 이벤트 종류인지 알려줌 Examples) void yourFunction (int event, int x, int y, int flags, void *param); OpenCV가 넘겨주는 메세지 어떤 마우스 관련 이벤트 종류인지 알려줌 Examples) CV_EVENT_MOUSEMOVE (마우스가 움직임) CV_EVENT_LBUTTONDOWN (왼쪽버튼이 눌리고 있음) CV_EVENT_RBUTTONDOWN (오른버튼이 눌리고 있음) CV_EVENT_MBUTTONDOWN (중간버튼이 눌리고 있음) CV_EVENT_LBUTTONUP (왼쪽버튼이 올라가고 있음) CV_EVENT_RBUTTONUP (오른버튼이 올라가고 있음) CV_EVENT_MBUTTONUP (중간버튼이 올라가고 있음)

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

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

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

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

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

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

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

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

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

Announcement 특강안내 강사: 김동현 시간: 11월 12일 (수요일) 아침 10시 30분 장소: 추후 공고 예정 새로운 인터넷 응용 분야와 기술들 강사: 김동현 DAUM 동영상개발 팀장 시간: 11월 12일 (수요일) 아침 10시 30분 장소: 추후 공고 예정

Matting & compositing

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

Image Compositing (영상합성)

Compositing Procedure (합성과정) 1. 스프라이트 만들기 (Sprite = Image + Mask Image (rmf) 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” Problem Definition: Hard problem The separation of an image C into A foreground object image Co, a background image Cb, and an alpha matte a Co and a can then be used to composite the foreground object into a different image Hard problem Even if alpha is binary, this is hard to do automatically (background subtraction problem) For movies/TV, manual segmentation of each frame is infeasible Need to make a simplifying assumption…

Blue Screen

Blue Screen matting Most common form of matting in TV studios & movies Petros Vlahos invented blue screen matting in the 50s. His Ultimatte® is still the most popular equipment. He won an Oscar for lifetime achievement. A form of background subtraction: Need a known background Compute alpha as SSD(C,Cb) > threshold Or use Vlahos’ formula: a = 1-p1(B-p2G) Hope that foreground object doesn’t look like background no blue ties!

The Ultimatte p1 and p2

Blue screen for superman?