Multimedia Programming 25: Playing with Video

Slides:



Advertisements
Similar presentations
1 파일 및 폴더 다루기 A. 파일이란 : 응용프로그램을 이용해서 만든 사용자가 만든 정보의 집합 - 파일 형식 : 이름과 확장자로 이뤄짐 예 sample.txt 샘플.txt - 복원하려면 휴지통에서 파일선택 후 드래그해서 밖으로 이동 혹은 RESTORE B. 확장자의.
Advertisements

자료의 표현 1. 문자 자료의 표현 2. 멀티미디어 자료의 표현. 컴퓨터일반자료의 표현 학습 목표 ◆ 컴퓨터에서 사용하는 문자 데이터의 표현 방법을 이해할 수 있다. ◆ 컴퓨터에서 사용하는 멀티미디어 데 이터의 표현 방법을 설명할 수 있다.
동영상이란 무엇인지, 동영상 파일은 어떻게 만드는 것인지, 편집은 어떻게 해야 하는 것인지를 알아가면서 멋진 동영상 제작자가 되어 봅시다. 6 부 3 장 학급 소개 동영상 만들기.
Window media player 1. 윈도우 미디어 플레이어가 많이 끊길 때 윈도우 미디어 플레이어실행 > 도구 > 옵션 > 성능 > 연결 속도 > 연결 속도 선택 Lan(10Mbps) 선택 > 네트워크 버퍼링 버퍼 10 초 네트워크창 > 스트리밍 프로토콜 > UDP.
Pride Power P 3 in VISION laboratory … Passion 5th week Presentation Vision System Lab, Sang-Hun Han.
이정훈 전한배. 1. What is Image Processing? 2. Image Making 3. Application 4. OpenCV Outline.
Multimedia Programming 04: Point Processing Departments of Digital Contents Sang Il Park.
Multimedia Programming 05: Point Processing
ㅎㅎ 구조체 구조체 사용하기 함수 매개변수로서의 구조체 구조체 포인터와 레퍼런스 구조체 배열.
Image & Video processing
Excel 일차 강사 : 박영민.
멀티미디어 기본+활용 제대로 배우기.
Cross Compiler를이용한 커널 컴파일 및 포팅
Multimedia Programming 17: Introduction to DirectShow
Multimedia Programming 05: Point Processing
Multimedia Programming 04: 점, 선, 면
자료 구조: Chapter 3 (2)구조체, 포인터
Multimedia Programming 9: Text, Mouse Callback and Drawing
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 12. 포인터의 이해.
Multimedia Programming 11: Point Processing 6
Multimedia Programming 06: Point Processing3
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
Multimedia Programming 18: GraphEditor
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Root Filesystem Porting
동영상 편집은 사용하기 쉬운 Premiere Pro가 좋다.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
Raster 애니메이션은 GIF Animator로 만들면 쉽다
DSP Lab. Week 3 My image Doug Young Suh Media Lab. Rm401
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
Multimedia Programming 10: Point Processing 5
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Root Filesystem Porting
Multimedia Programming 02: Play with Images
18강. 데이터 베이스 - II JDBC 살펴보기 Statement객체 살펴보기 Lecturer Kim Myoung-Ho
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
Multimedia Programming 06: Point Processing 2
멀티미디어.
14장. 포인터와 함수에 대한 이해.
Cross Compiler를이용한 커널 컴파일 및 포팅
Opencv 이민권.
OpenCV Tutorials Dongchul Kim Media System Lab., Yonsei University
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
Multimedia Programming 10: Unsharp Masking/ Histogram Equalization
반응형 웹 프로젝트
7가지 방법 PowerPoint에서 공동 작업하는 다른 사용자와 함께 편집 작업 중인 사용자 보기
WindowsXP 설치와 동시에 해야 할 일 Windows XP 완벽한 설치
영상처리 실습 인공지능연구실.
정보 동영상의 가공 YoungjinMedia.
Red Color Detection Course ChanYoung Kim
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
그래픽 모듈 편집.
컴퓨터 비젼 실습 Hanyang University
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
2장. 변수와 타입.
스위시 맥스2 이미지 갤러리 만들기 아래 그림이 스위시 맥스2로 만들 이미지 갤러리 이다.
Chapter 34. Advanced Web Page Options
PowerPoint 2009/2/17.
- 18차시 - 엔딩 크레딧 영상 만들기 - Leading 기능 사용하기 -.
자료관리 : 현 화면에서 인쇄할 자료를 입력하여 발행하는 화면 입니다.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
영상처리 실습 (OpenCV + MFC) Chonbuk National University A.I. Lab.
2일차 영상처리 교육.
12 그리드 시스템.
문서 작성에 사용되는 기본태그 HR, PRE, B, I, U, S.
구조체(struct)와 공용체(union)
바이트 순서 변환 함수 주소 변환 함수 바이트 조작 함수 원격지 호스트 정보를 얻는 함수
3. 윈도우 미디어 플레이어 6.4 옵션(환경) 설정 변경
Docker Study 6~7.
Presentation transcript:

Multimedia Programming 25: Playing with Video Departments of Digital Contents Sang Il Park

Outline Playing with Video

OpenCV Video I/O OpenCV의 Video Reading Functions CvCapture cvCaptureFromFile cvCaptureFromCAM cvReleaseCapture cvQueryFrame cvGetCaptureProperty cvSetCaptureProperty

OpenCV Video I/O OpenCV의 Video Writing Functions cvCreateVideoWriter cvReleaseVideoWriter cvWriteFrame

CvCapture 비디오를 저장하는 데 사용하는 구조체 Image 경우의 IplImage와 비슷

cvCaptureFromFile 동영상 파일을 열어서 CvCapture 구조체에 저장 동영상 열기에 실패시 NULL을 반환 이미지 경우의 cvLoadImage와 비슷 Example) CvCapture * cvCaptureFromFile(const chat * filename) CvCapture * video = cvCaptureFromFile(“c:\\video.avi”); if(video == NULL) { printf(“fail in loading video!”); return -1; }

cvCaptureFromCAM 캡코더(웹캠)으로부터의 동영상 스트리밍을 CvCapture 구조체에 저장 index는 캠코더가 여러 개 있을 경우의 번호 일반적으로 -1 Example) CvCapture * cvCaptureFromCAM(int index) CvCapture * video = cvCaptureFromCAM(-1);

cvReleaseCapture CvCapture의 메모리를 해제 이미지 경우의 cvReleaseImage와 비슷 Example) void cvReleaseCapture (CvCapture ** capture) CvCapture * video = cvCaptureFromFile(“c:\\video.avi”); …. cvReleaseCapture(&video);

cvQueryFrame 현재 장면(frame)을 나타내는 이미지의 위치 반환하고 다음 장면으로 이동 Examples) CvCapture내에 내부적으로 저장된 위치값을 나타내며 지우거나 변화를 주면 안된다! 편집을 원할시는 이미지를 복사하여 편집한다 이미지는 위,아래가 뒤집혀 있다! (cvConvertImage사용) Examples) IplImage* cvQueryFrame(CvCapture * capture) IplImage * frame = cvQueryFrame(video); IplImage * image = cvCreateImage(cvGetSize(frame),8,3); // 위아래를 뒤집으며 frame을 image로 복사 cvConvertImage(frame, image, CV_CVTIMG_FLIP);

cvGetCaptureProperty 동영상(캡춰)의 여러 특징 값들을 읽어옴 ID는 아래의 값들 중 하나 double cvGetCaptureProperty(CvCapture *, int ID) CV_CAP_PROP_POS_MSEC 영상의 현재 시간적 위치 (밀리 세컨드 단위) CV_CAP_PROP_POS_FRAMES 현재 영상의 시간적 위치 (프래임 수) CV_CAP_PROP_POS_AVI_RATIO 현재 영상의 상대적 시간 위치 (0=시작, 1=끝) CV_CAP_PROP_FRAME_WIDTH 영상의 넓이 (width) CV_CAP_PROP_FRAME_HEIGHT 영상의 높이 (height) CV_CAP_PROP_FPS 영상의 프레임 레이트 (초당 프레임수) CV_CAP_PROP_FOURCC 코덱의 이름 (four character codec name) CV_CAP_PROP_FRAME_COUNT 전체 프레임 수 CV_CAP_PROP_BRIGHTNESS 카메라 밝기 (only for cameras) CV_CAP_PROP_CONTRAST 카메라의 대비 (only for cameras) CV_CAP_PROP_SATURATION 카메라의 saturation(only for cameras) CV_CAP_PROP_HUE 카메라의 Hue (only for cameras)

cvSetCaptureProperty 동영상(캡춰)의 여러 특징 값들을 설정(변경)함 ID는 다음 값들 중 하나 cvSetCaptureProperty(CvCapture *, int ID, double value) CV_CAP_PROP_POS_MSEC 영상의 시간적 위치 변경 (밀리세컨드 단위) (only for video files) CV_CAP_PROP_POS_FRAMES 영상의 시간적 위치 변경 (only for video files) CV_CAP_PROP_POS_AVI_RATIO 영상의 상대적 시간 위치 변경 (0=시작, 1=끝) (only for video files) CV_CAP_PROP_FRAME_WIDTH 영상의 넓이 변경 (only for cameras) CV_CAP_PROP_FRAME_HEIGHT 영상의 높이 변경(only for cameras) CV_CAP_PROP_FPS 영상의 프레임레이트 변경 (only for cameras) CV_CAP_PROP_FOURCC 영상의 코덱 변경 (only for cameras) CV_CAP_PROP_BRIGHTNESS 영상의 밝기 변경 (only for cameras) CV_CAP_PROP_CONTRAST 영상의 대비 변경 (only for cameras) CV_CAP_PROP_SATURATION 영상의 saturation변경(only for cameras) CV_CAP_PROP_HUE 영상의 Hue 변경(only for cameras)

실습 동영상 한 프래임 읽기 동영상 재생 2개의 동영상을 한꺼번에 재생 동영상 간의 부드러운 트랜지션 (cross dissolve)

CvVideoWriter 비디오를 저장할 때 사용하는 구조체 Image 경우의 IplImage와 비슷

cvCreateVideoWriter 비디오를 저장할 공간을 마련함 Image 경우의 cvCreateImage와 비슷 fourcc: four character codec name (뒷페이지 참조) size: 화면 크기 fps: 초당 프래임수 (보통 25 또는 30) is_color: 칼라로 저장인지 아닌지 정한다. (1= color, 0=gray) 코덱이 잘못된 경우 NULL을 반환 CvVideoWriter * cvCreateVideoWriter(char * filename, int fourcc, double fps, CvSize size, int is_color)

Four Character Codec Name codec 이름을 4자리 character로 표현 Examples) 0 : 무압축 CV_FOURCC('P','I','M','1') : MPEG-1 코덱 CV_FOURCC('M','J','P','G') : Moving JPEG 코덱 CV_FOURCC(‘I',‘4',‘2',‘0') : Intel Indeo 4 코덱 CV_FOURCC(‘H’,’2’,’6’,’1’) : Intel H-261 코덱 CV_FOURCC(‘H’,’2’,’6’,’3’) : Intel H-261 코덱 CV_FOURCC(‘D',‘I',‘V',‘X') : Divx 코덱 잘 선택되지 않으므로 보통 무압축 선택 후 외부 프로그램에서 압축

cvReleaseVideoWriter 비디오 쓰는 것을 끝낸다. Image 경우의 cvReleaseImage와 비슷 void cvReleaseVideoWriter (CvVideoWriter ** writer)

cvWriteFrame 현재 프레임에 그림 한 장을 추가한다. 추가 뒤에는 한 프레임이 자동으로 진행된다 int cvWriteFrame (CvVideoWriter * writer, IplImage *img)

실습 동영상 copy 두 개의 동영상 간의 부드러운 transition 저장

VirtualDub 대표적인 공짜 비디오 편집 프로그램 www.virtualdub.org 기본적인 비디오 압축, 변환 등을 손쉽게 수행 여러가지 작업을 필터들의 조합으로 수행 자신만의 필터를 만들 수 있도록 sdk가 공개되어 있음

VirtualDub을 이용한 압축 video > compression… 여러 코덱 중 선택

VirtualDub을 이용한 편집 그림의 축소, 확대, 블러링 등의 다양한 효과를 줄 수 있다.

실습 만든 동영상 코덱 변환