Transcript OpenCV_01

OpenCV ::

Open

source

C

omputer

V

ision Library

Protocol Laboratory the department of Nano electronics engineer-ing

공과대학 정보통신공학부 Engineering college. Department of Information & Communication 1. 세미나 진행 순서 • OpenCV 소개 • OpenCV 환경 구축 • 실제 적용 방법 소개(Hand tracking) 프로토콜 연구실 공주대학교 Kongju national university

공과대학 정보통신공학부 Engineering college. Department of Information & Communication 프로토콜 연구실 2. OpenCV 소개 • OpenCV는 인텔에서 제작된 영상처리 소스입니다.

• 사용이 편리하며 Open Source 기반이기 때문에 기본 소스가 공개 되 어있습니다.

• C/C++로 제작되어 많은 이미지와 동영상을 처리 할 수 있는 알고리 즘이 제공됩니다.

• http://www.intel.com/technology/computing/opencv/index.htm

공주대학교 Kongju national university

공과대학 정보통신공학부 Engineering college. Department of Information & Communication 2. OpenCV 환경구축 • 다운 : http://www.sourceforge.net/projects/opencvlibrary • 별도의 설정이 필요 없이 간단히 설치가 됩니다.

• 2009년 6월 기준으로 v1.1이 제공되고 있습니다.

프로토콜 연구실 공주대학교 Kongju national university

공과대학 정보통신공학부 Engineering college. Department of Information & Communication 프로토콜 연구실 Click!

Window 버전 다운 공주대학교 Kongju national university

공과대학 정보통신공학부 Engineering college. Department of Information & Communication 프로토콜 연구실 기본 샘플 제공 <지원가능한 개발툴> VS 6.0

VS 2005 VS 2008 <설치목록> Lib 파일 설치 소스코드 설치 헤더파일 설치 공주대학교 Kongju national university

공과대학 정보통신공학부 Engineering college. Department of Information & Communication 프로토콜 연구실 2. OpenCV 환경구축 • OpenCV v1.1 : cvcam.lib 통합되어 사라짐 • VS 6.0, VS2005 환경 구축의 경우는 OpenCV KOREA 포럼에서 확인 하기 바랍니다.

• C:\Program Files\OpenCV -> 기본설치폴더 경로 공주대학교 Kongju national university

공과대학 정보통신공학부 Engineering college. Department of Information & Communication 2. OpenCV 환경구축 • 메뉴 탭 도구 > 옵션 선택 • Manu tab tool > option 프로토콜 연구실 공주대학교 Kongju national university

공과대학 정보통신공학부 Engineering college. Department of Information & Communication 프로젝트 및 솔루션 > VC++ 디렉터리 선택 프로토콜 연구실 추가되면 다음과 같이 폴더가 추가된다.

포함파일(Include file) 라이브러리 파일(Library file) 두가지 선택 공주대학교 Kongju national university

공과대학 정보통신공학부 Engineering college. Department of Information & Communication 프로토콜 연구실 2. OpenCV 환경구축 • OpenCV :: Add Include file directory path C:\PROGRAM FILES\OPENCV\CXCORE\INCLUDE C:\PROGRAM FILES\OPENCV\CV\INCLUDE C:\PROGRAM FILES\OPENCV\OTHERLIBS\HIGHGUI • OpenCV :: Add Library file directory path C:\PROGRAM FILES\OPENCV\LIB 공주대학교 Kongju national university

공과대학 정보통신공학부 Engineering college. Department of Information & Communication 2. OpenCV 환경구축 • 메뉴 탭 프로젝트 > 프로젝트 속성 • Manu tab Project > Property 프로토콜 연구실 공주대학교 Kongju national university

공과대학 정보통신공학부 Engineering college. Department of Information & Communication 설정은 꼭 모 든 구성으로 변경할 것!

구성속성 : 입력 선택 링커는 컴파일을 위해 만드는 LIB파일 링크 Cxcore.lib highgui.lib

cv.Lib

입력하여 추가 프로토콜 연구실 공주대학교 Kongju national university

공과대학 정보통신공학부 Engineering college. Department of Information & Communication 2. OpenCV 환경구축 • OpenCV :: Add Header files #include #include #include • OpenCV :: DLL file Paste in workspace folder C:\PROGRAM FILES\OPENCV\BIN cv110.dll, cxcore110.dll, highgui110.dll

프로토콜 연구실 공주대학교 Kongju national university

공과대학 정보통신공학부 Engineering college. Department of Information & Communication 프로토콜 연구실 3. OpenCV 사용예 • OpenCV를 사용하면 이미지 입출력은 물론 동영상까지도 쉽게 제어 가 가능합니다.

• VC++에서 기초적으로 이미지나 비디오를 입출력하는 방법이 까다롭 고 설정할 것이 많으며 기본 소스를 짜는 것 또한 쉽지 않습니다.

공주대학교 Kongju national university

공과대학 정보통신공학부 Engineering college. Department of Information & Communication 프로토콜 연구실 #include #include { void main() IplImage* image = 0; // image 선언 image = cvLoadImage(“abc.jpg", 1); // abc.jpg 파일을 읽어 들임 } cvNamedWindow( “Viewer", 1); cvShowImage( “Viewer ", image ); // 이미지를 보여줌 cvWaitKey(0); // 윈도우 생성 // 키 입력을 기다림 cvDestroyWindow( “Viewer " ); // 윈도우 종료 공주대학교 Kongju national university

공과대학 정보통신공학부 Engineering college. Department of Information & Communication 프로토콜 연구실 #include #include { void main() IplImage* image = 0; // 이미지 구조체 생성 CvCapture* capture = cvCaptureFromCAM(0); // 0번째 캠 읽기 cvNamedWindow( “Camera", 0 ); // 윈도우 생성 cvResizeWindow( “Camera", 320, 240 ); // 윈도우 사이즈 설정 while(1) { cvGrabFrame( capture ); // 카메라로 부터 입력받음 image = cvRetrieveFrame( capture ); // 이미지 변수에 저장 cvShowImage( “Camera", image ); 공주대학교 Kongju national university

공과대학 정보통신공학부 Engineering college. Department of Information & Communication } if( cvWaitKey(10) >= 0 ) // 엔터키 입력시 종료 break; } cvReleaseCapture( &capture ); // 메모리 반환 cvDestroyWindow( “Camera" ); // 윈도우 제거 프로토콜 연구실 공주대학교 Kongju national university

공과대학 정보통신공학부 Engineering college. Department of Information & Communication

Thank you~!

프로토콜 연구실 공주대학교 Kongju national university