OpenCV 설치 과정 (Visual Studio 2013)

Slides:



Advertisements
Similar presentations
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
Advertisements

1 강. 안드로이드 개요 및 개발 환경 구축 - 안드로이드 개요 -JDK 설치 -Path 설정 - 이클립스 설치 -ADT, SDK 설치 Lecturer Kim Myoung-Ho Nickname 블스
아이튠즈 계정 생성. 1. 인터넷을 통해 설치한 아이튠즈를 실행 한 후 그림의 순서대로 선택을 합니다. 1 2.
기초C언어 제1주 실습 강의 소개, C언어 개요, Cygwin/Eclipse 사용 컴퓨터시뮬레이션학과 2016년 봄학기
OpenCV 안드로이드 연동 환경설정 OpenCV-Android 를 다운 받습니다.
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++로 프로그래밍한다는 것의 의미 세상에서 가장 간단한 C++ 프로그램
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Image & Video processing
코크파트너 설치 가이드 Window 7.
윈도우7 체크 설치 매뉴얼
Cross Compiler를이용한 커널 컴파일 및 포팅
CUDA Setting : Install & Compile
Linux/UNIX Programming
J2ME Install 부산대학교 인공지능 연구실.
C언어 개요 게임프로그래밍.
네트워크 프로그래밍 및 실습.
ANSYS17.2 Student 제품 무료 다운로드
나민영 서경대학교 컴퓨터공학과 CGVR Lab 같이만들어보자 5주차 OpenCV 설정 및 기초.
Windows 8 Ksystem G&I 설치.
<대상 : Visual studio bit>
Ubiquitous Computing Practice - Part I (Installation) -
SAP GUI 설치 가이드 프로세스 혁신 TFT.
4-1장. MySQL 제13장.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
C / C++ Programming in multi platform
1. C++ 시작하기.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
Cross Compiler 설치.
Android studio로 Application 만들기.
Cross Compiler를이용한 커널 컴파일 및 포팅
어서와 C언어는 처음이지 제14장.
FRF 해석 방법 문의 국민대학교 연락처 :
7가지 방법 PowerPoint에서 공동 작업하는 다른 사용자와 함께 편집 작업 중인 사용자 보기
2장. JSP 프로그래밍을 위한 환경구성 제2장.
㈜시스원이 제공하는 시스템 관리 통합 솔루션 SysmanagerOne Agent설치 안내서
OpenCV 설치 및 구성 OpenCV
27장. 모듈화 프로그래밍.
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
IPython Notebook + Spark + TensorFlow on MacOS
영상처리 실습 인공지능연구실.
홍익대학교 메일 시스템 구축 그룹웨어 메일 이전 하기.
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
Nessus 4 설치 정보보호응용 조용준.
Moving Control in Web using Ajax Toolkit
Eclipse CDT에서 프로젝트를 Export 하고 Import 하는 방법
HyperWorks Apps 설치 가이드.
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
법령안편집기 연결버튼 표시가 안 될 경우 정부입법지원센터( 입안 및 심사안을 진행시
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
컴퓨터 개론 및 실습 1주차 2015년 03월 05일.
PMIS 서버 설정 환경설정 작성자 : 배경환.
빌드 성공.
Python 및 OpenCV 설치.
( Windows Service Application Debugging )
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
OpenCV 설정 2.21 만든이 딩딩.
DK-128 개발환경 설정 아이티즌 기술연구소
수동 설치시는 설치 방법 1. 두번에 설치 CD 속에 fscommand 폴더 밑에 Osstem 이라는 폴더를
STS 또는 Eclipse 에서 프로젝트를 Export 하고 Import 하는 방법
StyleCop 소개 SGS Framework 개발 팀.
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
Tensorboard in Windows
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
1. 인터넷 보안 옵션 레지스트리 등록 Config Setup 클릭.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
IPC 펌웨어 업그레이드 방법 안내 ** 반드시 IPC를 NVR POE 포트 연결 전에 작업 하시기 바랍니다. IPC를 NVR POE 포트에 연결 하실 경우 IP 대역폭을 마추셔야 하는 작업이 필요합니다. **
Docker Study 6~7.
CCISS 어레이 형식 centos7 설치방법
Presentation transcript:

OpenCV 2.4.9 설치 과정 (Visual Studio 2013)

OpenCV Downloading http://opencv.org/downloads.html 해당 홈페이지에서 OpenCV 2.4.9 version을 다운받도록 한다. Visual Studio에서 OpenCV를 사용할 때 OpenCV\build\include OpenCV\build\x86\vc12\bin OpenCV\build\x86\vc12\lib 해당 폴더들만 있어도 사용이 가능하기 때문에 해당 폴더들만 이동시켜서 사용해도 상관없다. (Visual Studio 2010의 경우는 vc12가 아닌 vc10이라는 사실) (!참조)그리고 위의 OpenCV 폴더 주소를 그대로 복사하지 말고 자신의 컴퓨터에서의 경로를 사용하도록 한다.

환경변수에 bin 폴더 등록 제어판  시스템  고급 시스템 설정  환경변수 에 들어간다. 시스템 변수에 Path 라는 변수가 있다. 해당 Path 변수에서 변수 값으로 OpenCV\build\x86\vc12\bin 해당 폴더를 등록한다. 등록할 때 다른 변수 위치와 구분을 위해 ;(세미콜론)을 반드시 사용해야 한다.

Visual studio 프로젝트 속성 수정 Visual Studio로 프로젝트를 하나 생성한다. (mfc or win32 콘솔 응용 프로그램) 미리 컴파일된 헤더를 체크한 상태에서 마침을 누른다.

Visual studio 프로젝트 속성 수정 프로젝트 생성 후 해당 프로젝트의 속성에 들어간다. 프로젝트 속성  구성 속성  VC++ 디렉터리로 들어간다. VC++ 디렉터리에서 포함 디렉터리에서는 include 폴더를 라이브러리 디렉터리에서는 lib 폴더를 등록한다. (!참조)처음 프로젝트 생성 시 Debug 모드로 되어있을 것이니 Release 모드로 OpenCV를 사용할 경우 다시 등록해야 한다.

링커에서 라이브러리 목록 등록 방법 2가지 OpenCV를 사용하기 위해 라이브러리 목록들을 등록하는데 소개할 방법은 2가지가 있다. 사용하고 싶은 방법을 사용하면 된다. 직접 프로젝트 속성  링커  입력에 들어가서 사용하는 OpenCV 버전에 맞는 라이브러리를 Copy 하는 것. 프로젝트에 stdafx.h 에 라이브러리를 써넣는 것. (stdafx.h가 아니어도 됨.) 개인적으로는 2번이 더 편하다. 우선 1번부터 소개한 뒤에 2번을 소개한다.

링커에서 라이브러리 목록 등록 방법 첫 번째 프로젝트 속성  링커  입력  추가 종속성 페이지를 연다. (처음 열게 되면 아무것도 쓰여져 있지 않다)

링커에서 라이브러리 목록 등록 방법 첫 번째 추가 종속성에 사용하려는 OpenCV의 라이브러리 목록을 입력한다. (라이브러리 목록은 ppt 맨 마지막 부록에 첨가하였다.) 입력하면 아래와 같이 작성된다. 이후 확인을 누르고 속성을 빠져나오면 된다.

링커에서 라이브러리 목록 등록 방법 두 번째 두 번째 방법이다. 필자는 해당 방법이 더 유용하게 쓰인다. 링커에서 라이브러리 목록 등록 방법 두 번째 두 번째 방법이다. 필자는 해당 방법이 더 유용하게 쓰인다. 이전 프로젝트 생성 시, 미리 컴파일된 헤더를 체크했다면 stdafx.h 파일이 생성되어 있다. (OpenCV 설치가 목적이기 때문에 stdafx.h 에 대한 것은 설명하지 않음) Stdafx.h 파일에 그림과 같이 작성한다. (작성 내용은 부록 참조) 현재 필자의 프로젝트를 Release 모드로 사용 중이기 때문에 Debug 모드 부분은 사용하지 않는 것을 그림을 통해 알 수 있다. (자신이 어떤 모드를 사용하든 저 부분은 건드릴 필요 없게 된다.)

링커에서 라이브러리 목록 등록 방법 두 번째 반드시 Stdafx.h 파일에 Copy할 필요 없다. 자신이 헤더 파일을 직접 하나 생성시켜서 이용하면 된다. 필자는 아래와 같이 Setting.h 파일을 생성하여, 다른 헤더 파일도 같이 등록하여 사용하고 있다.

예제 1 OpenCV 설정이 잘 되었는지 예제를 통해 확인해보자. 프로젝트 폴더 안에 영상 파일(jpg 등등)을 TEST.jpg라고 하여 Copy 해 놓자. (필자는 TEST.png)

예제 1 이전 Stdafx.h 에 OpenCV 라이브러리 목록을 업데이트하는 슬라이드에서 #include "opencv2/opencv.hpp“ 부분을 등록한 것을 볼 수 있다. OpenCV 사용 시 아래 두 cpp만 등록하면 딱히 문제될 것은 없다. #include "opencv2/opencv.hpp“ #include “opencv2/highgui/highgui.hpp”

예제 1 이전 슬라이드의 설명처럼 OpenCV cpp 파일을 미리 등록했으니 메인 cpp 파일에 등록할 필요가 없다. 그래서 아래 그림처럼 메인 cpp 내용 맨 위에 #include "stdafx.h“ 만 작성하면 된다. 그 아래 해당 코드를 작성하면 된다. #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { cv::Mat matTest = cv::imread("TEST.png"); cv::imshow("TEST", matTest); cv::waitKey(0); return 0; }

예제 1 솔루션 빌드 결과는 아래와 같다.

OpenCV 추가 문제 해결 방안 해결 방안 1 해결 방안 2 해당 과정으로 OpenCV를 설정하였는데 실행되지 않는 경우 폴더 위치를 잘 못 설정한 경우 환경변수 등록을 잘 못한 경우 OpenCV cpp 파일을 등록하지 않은 경우 라이브러리 목록 등록에 문제가 있는 경우 폴더 등록 시 VC12가 아닌 10으로 한 경우 (Visual Studio 2013은 VC 12 , Visual Studio 2010은 VC 10) 해결 방안 1 OpenCV lib 와 dll 폴더 안 자료들을 모두 C:\Windows\System32 에 Copy 한다. (제대로 환경변수에 등록 안 된 경우 이렇게 하면 될 수 있음) 해결 방안 2 Visual Studio를 종료했다가 다시 켜고 실행해보세요. (제대로 환경변수에 등록 안 된 경우 이렇게 하면 될 수 있음)

속성 시트의 장, 단점 자신의 컴퓨터에서만 사용할 것이 아니라면 속성시트는 추가하지 않는 것이 좋다.  이유는 속성시트를 등록한 프로젝트를 타 컴퓨터에 옮겨서 실행할 경우, 해당 속성시트에 등록된 OpenCV 폴더를 찾지 못해 프로젝트 실행이 중지된다. 속성시트를 한번 등록하면 여러 번 재사용이 가능하기 때문에 편한데… 위와 같은 문제점이 발생한다는 단점이 있다.

부록(2.4.9 Version Debug lib) opencv_calib3d249d.lib opencv_contrib249d.lib opencv_core249d.lib opencv_features2d249d.lib opencv_flann249d.lib opencv_gpu249d.lib opencv_highgui249d.lib opencv_imgproc249d.lib opencv_legacy249d.lib opencv_ml249d.lib opencv_nonfree249d.lib opencv_objdetect249d.lib opencv_ocl249d.lib opencv_photo249d.lib opencv_stitching249d.lib opencv_superres249d.lib opencv_ts249d.lib opencv_video249d.lib opencv_videostab249d.lib

부록(2.4.9 Version Release lib) opencv_calib3d249.lib opencv_contrib249.lib opencv_core249.lib opencv_features2d249.lib opencv_flann249.lib opencv_gpu249.lib opencv_highgui249.lib opencv_imgproc249.lib opencv_legacy249.lib opencv_ml249.lib opencv_nonfree249.lib opencv_objdetect249.lib opencv_ocl249.lib opencv_photo249.lib opencv_stitching249.lib opencv_superres249.lib opencv_ts249.lib opencv_video249.lib opencv_videostab249.lib

부록 (stdafx.h에 copy 하기 위한 코드) // OpenCV library #define OPENCV_249 #include "opencv2/opencv.hpp" #ifdef OPENCV_249 #pragma message("Linking with OpenCV 2.4.9...") #ifdef _DEBUG #pragma comment(lib, "opencv_core249d.lib") #pragma comment(lib, "opencv_highgui249d.lib") #pragma comment(lib, "opencv_calib3d249d.lib") #pragma comment(lib, "opencv_imgproc249d.lib") #pragma comment(lib, "opencv_objdetect249d.lib") #pragma comment(lib, "opencv_video249d.lib") #pragma comment(lib, "opencv_gpu249d.lib") #pragma comment(lib, "opencv_ml249d.lib") #pragma comment(lib, "opencv_contrib249d.lib") #else #pragma comment(lib, "opencv_core249.lib") #pragma comment(lib, "opencv_highgui249.lib") #pragma comment(lib, "opencv_calib3d249.lib") #pragma comment(lib, "opencv_imgproc249.lib") #pragma comment(lib, "opencv_objdetect249.lib") #pragma comment(lib, "opencv_video249.lib") #pragma comment(lib, "opencv_gpu249.lib") #pragma comment(lib, "opencv_ml249.lib") #pragma comment(lib, "opencv_contrib249.lib") #endif