Presentation is loading. Please wait.

Presentation is loading. Please wait.

Multimedia Programming 05: Point Processing

Similar presentations


Presentation on theme: "Multimedia Programming 05: Point Processing"— Presentation transcript:

1 Multimedia Programming 05: Point Processing
Departments of Digital Contents Sang Il Park

2 Outline Review Point Processing 1

3 Review OpenCV 익숙해 지기

4 빈 이미지 생성하기 IplImage* cvCreateImage( CvSize size, int depth, int channels ); 만들 빈 이미지의 크기, 허용 색상수를 설정하여 생성 컬러수: color depth: IPL_DEPTH_8U (각 채널당 8bit) channels: 1,2,3,4 (1=grey, 3=color) Example) IplImage * img; img = cvCreateImage(cvSize(200,100), 8, 3); cvSet(image, CvScalar) 이미지를 주어진 색으로 가득 칠한다 Example) cvSet(img, CV_RGB(255,255,255));

5 Coding Practice: Line Drawing
Make your own function for Horizontal line drawing: 예) void DrawHLine (IplImage * img, int y, int st, int ed, CvScalar color) image

6 Coding Practice: Line Drawing2
Make your own function for Vertical line drawing: 예) void DrawVLine (IplImage * img, int x, int st, int ed, CvScalar color) image

7 Coding Practice: Line Drawing 3
시작점과 끝점을 잇는 라인?: 예) void DrawLine (IplImage * img, int x1, int y1, int x2, int y2, CvScalar color)

8 Coding Practice: Line Drawing 3
시작점과 끝점을 잇는 라인?: 예) void DrawLine (IplImage * img, int x1, int y1, int x2, int y2, CvScalar color)

9 Do more! Design a function that draws a rectangle
(x,y) w Design a function that draws a rectangle 예) void DrawRectangle (IplImage * img, int x, int y, int w, int h, CvScalar color) Don’t forget to make sure a pixel is inside the image 0 <= max_x <= img->width 0 <= max_y <= img->height If done, try to draw 50 random boxes with random colors! h

10 For those who want more OpenCV Wiki-pages: For OpenCV Reference Manual: Supplied documentation: OpenCV/docs/index.htm, faq.htm A Korean Community:

11 Image Processing 1 Point processing Alexei Efros

12 이미지를 함수처럼? Render with scanalyze???? Alexei Efros

13 Image Processing image processing 이란 한 이미지 f 를 새로운 이미지 g 로 만드는 과정
이미지의 영역을 변경하는 것 What kinds of operations can each perform? Use photoshop to make something grayscale Alexei Efros

14 Image Processing image filtering: 이미지의 색상 값을 변경 g(x) = h(f(x))
image warping: 이미지의 영역을 변경 g(x) = f(h(x)) f x f x h Alexei Efros

15 Image Processing image filtering: 이미지의 색상 값을 변경 g(x) = h(f(x))
image warping: 이미지의 영역을 변경 g(x) = f(h(x)) f g h Alexei Efros

16 Point Processing 가장 단순한 Image Filtering: g = t(f) 무엇을 할 수 있을까?
이미지의 점의 위치 x,y 에 상관없이 일괄적인 변환 적용 g = t(f) 무엇을 할 수 있을까? 변환 함수t 는 어떤종류가 있을까? Important: 모든 이미지 점 하나하나가 독립적으로 처리됨 – 점들의 상관관계 정보를 전혀 사용하지 않음 Alexei Efros

17 Point Processing g f t 이미지  각 Pixel의 RGB 밝기정보 값의 범위 : 0~255
포인트 프로세싱의 정의: g = t ( f ) g f t t 새로운 밝기값(칼라값): g 한 점의 밝기값(칼라값): f

18 Point Processing 변형함수 t 는 함수이다: g = t ( f ) 변형함수의 모양
이미지의 칼라값 f 를 새로운 이미지의 칼라값g 로 대응 변형함수의 모양 g f 255 올바르지 않은 변형함수의 예: g f 255 t

19 Basic Point Processing
output input g = Af + B A = 1 B = 0 picture from

20 Basic Point Processing
output input g = Af + B A = 1 B > 0 Brightness +

21 Basic Point Processing
output input g = Af + B A = 1 B < 0 Brightness –

22 Basic Point Processing
input output g = Af + B A > 1 B = 0 Contrast + (brightness +)

23 Basic Point Processing
output input g = Af + B A > 1 B < 0 Contrast + (brightness -) Contrast +

24 Basic Point Processing
output input g = Af + B A < 1 B > 0 Contrast –

25 Basic Point Processing
output input g = Af + B A < 1 B > 0+++ Contrast – (brightness +)

26 코딩 연습 이미지를 하나 열고 밝기와 대비 값을 키보드를 누름으로써 조정한다 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

27 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.

28 More functions?

29 Power-law transformations

30 Image Enhancement

31 Example: Gamma Correction

32 Contrast Stretching

33 Programming Assignment #1
How to compare R,G,B channels? No right answer Sum of Squared Differences (SSD):


Download ppt "Multimedia Programming 05: Point Processing"

Similar presentations


Ads by Google