Image & Video processing
OpenCV(Open source Computer Vision) 실시간 컴퓨터 비전을 위한 공개용 라이브러리 1999 Intel 2000 CVPR – α ver. 공개 2006 – 1.0 ver. 공식 발표 2011. 08 – 2.3.1 ver. 발표 , 500개 이상 알고리즘 제공 크로스-플랫폼 http://opencv.org/ cv.h 영상처리와 비전 알고리즘 ml.h 통계적 분류 및 군집화 highgui.h GUI, 영상/비디오 입출력 관련 cxcore.h 기본 구조와 알고리즘, XML, 그리기 기능 cvaux.h HMM과 스테레오 비전 관련
OpenCV - Insallation 최신 설치 파일 다운로드 – SourceForge http://sourceforge.net/projects/opencvlibrary/
OpenCV - Insallation 2.3.1 ver. 다운로드 File name : OpenCV-2.3.1-win-superpack.exe (124MB) 설치 환경 : VC 2008 기본 C 드라이브에 압축 풀기
OpenCV - Insallation C 드라이브에 opencv 폴더가 자동 생성됨.
OpenCV - Insallation OpenCV DLL 환경 설정 dll 파일 복사하기 프로그램이 포함된 디렉토리, 프로그램의 현재 디렉토리, 윈도우 시 스템 디렉토리, 윈도우 디렉토리, PATH 환경 변수가 지정하는 모든 디렉토리 dll 파일 복사하기 C:\opencv\build\x86\vc9\bin 에 있는 모든 dll 파일을 C:\Windows\System32 로 복사하기.
OpenCV - Insallation 2. 환경변수 입력하기 고급 시스템 설정 -> 고급 -> 환경변수
OpenCV - Insallation 2. 환경변수 입력하기 새로만들기 -> PATH 입력-> 확인-> 시스템 재부팅
OpenCV - Visual Studio 2008 VC 2008 환경 설정 1. “다음 파일의 디렉터리 표시” 에서 포함파일 선택. 2. C:\opencv\build\include 입력
OpenCV - Visual Studio 2008 도구 -> 옵션 -> 프로젝트 및 솔루션 -> VC++ 디렉터리 1. “다음 파일의 디렉터리 표시” 에서 라이브러리 파일 선택. 2. C:\opencv\build\x86\vc9\lib 입력
OpenCV - Visual Studio 2008 프로젝트 신규 생성 시 마다 수행함. 프로젝트 -> 속성 -> 구성 속성 -> 링커 -> 입력 -> 추가 종속성
OpenCV - Visual Studio 2008 추가 종속성 입력 화면 C:\opencv\build\x86\vc9\lib
OpenCV 를 활용한 이미지 로드 예제 프로젝트 생성
OpenCV 를 활용한 이미지 로드 예제
OpenCV 를 활용한 이미지 로드 예제 다이얼로그 기반 프로젝트 생성 완료
OpenCV 를 활용한 이미지 로드 예제 OpenCV TestDlg.cpp 파일에 헤더 파일 추가
OpenCV 를 활용한 이미지 로드 예제 이미지 로드 버튼 생성
OpenCV 를 활용한 이미지 로드 예제 Show Image 버튼의 이벤트 처리 함수 OnBnClickedBtnShowImg() 생성 이미지 로드를 위한 코드 작성 IplImage* image = cvLoadImage(“opencv.jpg”, -1); // 이미지 파일 경로, 영상의 색상 정보(0:3채널, 1:그레이, -1: 파일속성) cvShowImage(“input image”, image); // 윈도우 이름, 파일 구조체 cvWaitKey(0); // 이벤트 대기 cvReleaseImage(&image); // 메모리 반환 cvDestroyAllWindows(); // 윈도우 창 메모리 반환
OpenCV 를 활용한 이미지 로드 예제
OpenCV 를 활용한 동영상 로드 예제 동영상 로드 버튼 생성
OpenCV 를 활용한 동영상 로드 예제 Open AVI 버튼의 이벤트 처리 함수 OnBnClickedBtnAvi() 생성 동영상 로드를 위한 코드 작성
OpenCV 를 활용한 동영상 로드 예제 CvCapture* capture = cvCaptureFromAVI(“PSY.avi”); // CvCapture 는 캠이나 동영상을 파일로부터 프레임을 읽기 위한 구조체 char c; // while문에서 break를 위한 변수 IplImage* image; // IplImage 구조체 선언 while(1) { cvGrabFrame(capture); // capture 구조체로부터 한 프레임을 가져옴 image = cvRetrieveFrame(capture); // 프레임을 IplImage 구조체에 할당함 cvShowImage("AVI", image); c = cvWaitKey(33); if(c == 0x1b) break; // ESC 버튼 누르면 동영상 재생 정지 } cvReleaseCapture(&capture); cvDestroyAllWindows();
OpenCV 를 활용한 동영상 로드 예제