Multimedia Programming 04: Point Processing Departments of Digital Contents Sang Il Park.

Slides:



Advertisements
Similar presentations
Help your book choice Kim Seoyul Kim Jinho Kim Doyoung Go Sungmin.
Advertisements

A is no more B than C is D KEY POINT∥A is no more B than C is D
Digital Image Processing
Multimedia Programming 07: Gamma Correction/ Neighborhood Processing
취업성공을 위한 이미지 up-grade 프로젝트 송파 행복나눔 일자리센터.
사용자 인터페이스와 멀티미디어 2006년 2학기 컴퓨터의 개념 및 실습.
Chapter 9. 컴퓨터설계기초 9-1 머리말 9-2 데이터 처리장치 (Datapath)
* 07/16/96 처음으로 배우는 C 프로그래밍 제1부 기초 제1장 시작하기 *.
이정훈 전한배. 1. What is Image Processing? 2. Image Making 3. Application 4. OpenCV Outline.
C++ Tutorial 1 서강대학교 데이터베이스 연구실.
Chapter 7 ARP and RARP.
Multimedia Programming 05: Point Processing
디지털 영상처리 목포과학대학 방사선과 오 태 석.
Gamma와 Linear-Color-Space
멀티미디어 처리 강의자료 2.4: 영상 기하학적 처리.
기획서의 조건과 역할 기획서는 아이디어가 장차 창출할 가치를 명확히 보여 주어야 한다. 기획서 채택 가치 창출 체 제 표 현
C++ 프로그래밍 년 2학기 전자정보공학대학 컴퓨터공학부.
7장 : 캐시와 메모리.
Internet Computing KUT Youn-Hee Han
Multimedia Programming 05: Point Processing
Multimedia Programming 04: 점, 선, 면
Multimedia Programming 11: Histogram Equalization/ Image Halftoning
Red Color Detection Course ChanYoung Kim
Multimedia Programming 9: Text, Mouse Callback and Drawing
Multimedia Programming 11: Point Processing 6
Multimedia Programming 06: Point Processing3
특수조명 Program Manual M.D.I Solution
Red Color Detection Course ChanYoung Kim
Chapter 1 디지털 영상처리의 개념.
SK 4Front KM 방법론 SK C&C.
Multimedia Programming 11: Image Warping
Genetic Algorithm 신희성.
Multimedia Programming 03: 점, 선, 면
Dynamic Programming.
Multimedia Programming 23: Matting
Multimedia Programming 10: Point Processing 5
Gamma(감마) 발표일 : 발표자 : 임정환.
숭실대학교 마이닝연구실 김완섭 2009년 2월 8일 아이디어  - 상관분석에 대한 연구
Multimedia Programming 02: Play with Images
Multimedia Programming 06: Point Processing 2
Dongchul Kim / / OpenCV Tutorials Course Dongchul Kim / /
노출영역 노출영역의 해당 배너들 클릭 시 실제 기획전 페이지로 이동됩니다..
Chapter 4 The Von Neumann Model.
OpenCV Tutorials Dongchul Kim Media System Lab., Yonsei University
The Best Thing I've Learned This Year
Multimedia Programming 10: Unsharp Masking/ Histogram Equalization
Write and say bye to friends,
OpenCV 설치 및 구성 OpenCV
Yeong-Taeg Kim Signal processing R&D Center Samsung Electronics Co.
Chapter 1 C와는 다른 C++. 최호성.
Red Color Detection Course ChanYoung Kim
박정식 심규동 OpenCV 기초 박정식 심규동
Dynamic Programming.
컴퓨터 비젼 실습 Hanyang University
루프와 카운트 Looping and counting
Operating System Multiple Access Chatting Program using Multithread
영상의 개선 및 복원 화소 단위 처리 화소 단위 처리 영상 화소 집단 처리 주파수 영역처리 기하학적 변환 단일영상 대비강조
6. Video Effects.
제 5강 지각.
히스토그램 그리고 이진화 This course is a basic introduction to parts of the field of computer vision. This version of the course covers topics in 'early' or 'low'
1. 관계 데이터 모델 (1) 관계 데이터 모델 정의 ① 논리적인 데이터 모델에서 데이터간의 관계를 기본키(primary key) 와 이를 참조하는 외래키(foreign key)로 표현하는 데이터 모델 ② 개체 집합에 대한 속성 관계를 표현하기 위해 개체를 테이블(table)
04장 ㅎㅎ 화소점 처리 화소 점 처리의 개념 디지털 영상의 산술연산과 논리연산 디지털 영상의 다양한 화소 점 처리 기법
고객만족 서비스 교육 Ⅴ. 전화예절.
국어지도 유아교육과 권수연 김아람 중등특수교육과 박수진 양한솔
Introduction to Computer System 컴퓨터의 이해 3: 데이터 표현
argc, argv 의 사용방법 #include <stdio.h>
C.
Level editing techniques
[CPA340] Algorithms and Practice Youn-Hee Han
Speaking -여섯 번째 강의 (Review ) RACHEL 선생님
Presentation transcript:

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

Outline Review Image Processing –Brightness –Contrast

HelloCV #include "stdafx.h" #include int _tmain(int argc, _TCHAR* argv[]) { IplImage * img; img = cvLoadImage("d:\\test.jpg"); cvNamedWindow("HelloCV"); cvShowImage("HelloCV", img); cvWaitKey(); cvDestroyWindow("HelloCV"); cvReleaseImage(&img); return 0; } hellocv.cpp IplImage cvLoadImage cvReleaseImage cvNamedWindow cvShowImage cvDestroyWindow cvWaitKey

빈 이미지 생성하기 IplImage* cvCreateImage( CvSize size, int depth, int channels ); – 만들 빈 이미지의 크기, 허용 색상수를 설정하여 생성 – 컬러수 :color depth: 8 ( 각 채널당 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));

So far what you’ve learned: IplImage cvLoadImage (file_name) cvCreateImage (size, depth, channels) cvSaveImage (file_name, image) cvReleaseImage (image) cvNamedWindow (window_name) cvShowImage (window_name, image) cvDestroyWindow (window_name) cvWaitKey (delay) cvGet2D (image, y, x) cvSet2D (image, y, x, cvScalar)

For those who want more OpenCV Wiki-pages: For HighGUI: – For cxcore: – Supplied documentation: OpenCV/docs/index.htm, faq.htm A Korean Community:

Image Processing 1 Point processing Alexei Efros

이미지를 함수처럼 ? Alexei Efros

Image Processing image processing 이란 한 이미지 f 를 새로운 이미 지 g 로 만드는 과정 Image Processing 의 두가지 : – 이미지 f 의 색을 변경하는 것 – 이미지의 영역을 변경하는 것 What kinds of operations can each perform? Alexei Efros

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

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

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

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

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

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

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

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

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

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

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

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

코딩 연습 이미지를 하나 열고 밝기와 대비 값을 키보드를 누름으로써 조정한다 example)1 : brightness up(+10) 2: brightness down(-10) 3 : contrast up(+0.1)4: contrast down(-0.1) input output g = Af + B g = input color value f = output color value A = contrast value ( 초기값 = 1) B = brightness value ( 초기값 = 0)

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.

More functions?

Power-law transformations

Image Enhancement

Example: Gamma Correction

Contrast Stretching

Image Processing 2 Histogram Equalization Alexei Efros

Image Histogram Histogram: –Counting the number of pixels with the same brightness imagehistogram

Image Histogram Histogram: –Counting the number of pixels with the same brightness

Image Histogram Example

Image Histogram Two images

Modify the image to have a well-distributed histogram Histogram Equalization

Cumulative Histogram Number of the pixels below the brightness imagehistogramCumulative histogram

Cumulative histogram Cumulative Histograms Why is it so important?

Why is it so important? Let’s focus on the first image input o u t p u t

Why is it so important? Using Cumulative histogram as a function input output input output

Histogram Equalization

Coding Practice Make your own code for histogram equalization For each color channel (R, G, B) –1. Compute the histogram –2. Compute the cumulative histogram –3. Set the maximum value as 255 –4. Using the cumulative histogram as a mapping function

A colorful underwater world!