Multimedia Programming 05: Point Processing Departments of Digital Contents Sang Il Park
Image Processing 1 Point processing Alexei Efros
이미지를 함수처럼? Render with scanalyze???? Alexei Efros
Image Processing image processing 이란 한 이미지 f 를 새로운 이미지 g 로 만드는 과정 이미지의 영역을 변경하는 것 What kinds of operations can each perform? Use photoshop to make something grayscale Alexei Efros
Image Processing image filtering: 이미지의 색상 값을 변경 g(x) = h(f(x)) image warping: 이미지의 영역을 변경 g(x) = f(h(x)) f x f x h Alexei Efros
Image Processing image filtering: 이미지의 색상 값을 변경 g(x) = h(f(x)) image warping: 이미지의 영역을 변경 g(x) = f(h(x)) f g h Alexei Efros
Point Processing 가장 단순한 Image Filtering: g = t(f) 무엇을 할 수 있을까? 이미지의 점의 위치 x,y 에 상관없이 일괄적인 변환 적용 g = t(f) 무엇을 할 수 있을까? 변환 함수t 는 어떤종류가 있을까? Important: 모든 이미지 점 하나하나가 독립적으로 처리됨 – 점들의 위치나 점들간의 상관관계 정보를 전혀 사용하지 않음 Alexei Efros
Point Processing g f t 이미지 각 Pixel의 RGB 밝기정보 값의 범위 : 0~255 포인트 프로세싱의 정의: g = t ( f ) g f t t 새로운 밝기값(칼라값): g 한 점의 밝기값(칼라값): f
Point Processing 변형함수 t 는 함수이다: g = t ( f ) 변형함수의 모양 이미지의 칼라값 f 를 새로운 이미지의 칼라값g 로 대응 변형함수의 모양 g f 255 올바르지 않은 변형함수의 예: g f 255 t
Basic Point Processing output input g = Af + B A = 1 B = 0 picture from http://girlsgeneration.iple.com/
Basic Point Processing output input g = Af + B A = 1 B > 0 Brightness +
Basic Point Processing output input g = Af + B A = 1 B < 0 Brightness –
Basic Point Processing input output g = Af + B A > 1 B = 0 Contrast + (brightness +)
Basic Point Processing output input g = Af + B A > 1 B < 0 Contrast + (brightness -) Contrast +
Basic Point Processing output input g = Af + B A < 1 B > 0 Contrast –
Basic Point Processing output input g = Af + B A < 1 B > 0+++ Contrast – (brightness +)
코딩 연습 이미지를 하나 열고 밝기와 대비 값을 키보드를 누름으로써 조정한다 example) 1 : brightness up(+10) 2: brightness down(-10) 3 : contrast up(+0.1) 4: contrast down(-0.1) g = Af + B g = input color value f = output color value A = contrast value (초기값 = 1) B = brightness value (초기값 = 0) output input
Hint for the exercise 키보드 입력 받는 법: int cvWaitKey( int delay=0 ) waits for a pressed key. After waiting for the given delay, it proceeds. Zero delay means waiting forever until user input. Delay in milliseconds.
Programming Assignment Hint How to compare R,G,B channels? No right answer Sum of Squared Differences (SSD):
More functions?
Power-law transformations
Image Enhancement
Example: Gamma Correction http://www.cs.cmu.edu/~efros/java/gamma/gamma.html
Contrast Stretching