DY N DY
open cv 설치 및 세팅 본문
VS 2015
3.1 버전 기준
open cv 설치
1. open cv를 다운받는다.
http://opencv.org/downloads.html
2016년 9월 기준 3.1이 최신버전(2 버전대를 제외한)
100MB나 된다. 30초 내외로 걸리는 것 같다.
2. 압축을 풀어준다.(설치)
개인적으로는 C나 D 바로 아래에 풀어주는게 편한 것 같다.
C:\opencv에 압축을 풀어주었다.
설치는 완료.
open cv 세팅
1. 추가 포함 디렉터리 설정
프로젝트 오른쪽 클릭 후 속성 클릭
구성이나 플랫폼은 상황에 맞게 하면 된다. 여기서는 테스트할 겸 디버깅을 할 것이기 때문에 debug로,
화면에는 win32로 나왔지만 x64플랫폼을 만들어서 바꿔주었다.
C/C++의 추가 포함 디렉터리에 해당 디렉터리를 추가해 준다.
1. 압축해제 폴더\opencv\build\include
2. 압축해제 폴더\opencv\build\include\opencv
3. 압축해제 폴더\opencv\build\include\opencv2
2. 추가 라이브러리 디렉터리
이번에는 링커 - 일반 탭에서 추가 라이브러리 디렉터리를 추가한다.
여기서 주의할 점은 VS가 2015라는 것이다. VS와 opencv를 맞게 세팅해줘야 하는데
VS 2010은 vc10
VS 2012는 vc11
VS 2013은 vc12
VS 2015는 vc14이다.
2.4.xx버전은 vc14를 지원하지 않아 3.1버전을 설치하게 되었다.
3. 추가 종속성 추가
이번에는 링커 - 입력 탭에서 추가 종속성에 해당하는 라이브러리를 추가해준다.
2.4.xx버전의 경우 추가해야 할 라이브러리가 상당히 많았으나 3.1의 경우 Release냐 Debug냐에 따라 추가해야 할 라이브러리가 각각 1개뿐이다.
opencv_world310d.lib
아래는 2.4.13버전을 debug환경에서 사용할 때 추가해야 할 라이브러리.(release에서는 2413뒤의 d를 전부 빼면 된다. - 2413은 2.4.13버전)
opencv_calib3d2413d.lib
opencv_contrib2413d.lib
opencv_core2413d.lib
opencv_features2d2413d.lib
opencv_flann2413d.lib
opencv_gpu2413d.lib
opencv_highgui2413d.lib
opencv_imgproc2413d.lib
opencv_legacy2413d.lib
opencv_ml2413d.lib
opencv_nonfree2413d.lib
opencv_legacy2411.lib
opencv_objdetect2413d.lib
opencv_ocl2413d.lib
opencv_photo2413d.lib
opencv_stitching2413d.lib
opencv_superres2413d.lib
opencv_ts2413d.lib
opencv_video2413d.lib
opencv_videostab2413d.lib
# 추가로 C++ 11이상이라면 C/C++ 전처리기에
_CRT_SECURE_NO_WARNINGS
추가해준다.
세팅 완료.
open cv 테스트
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <iostream> using namespace cv; using namespace std; int main(int argc, char** argv) { if (argc != 2) { cout << " Usage: display_image ImageToLoadAndDisplay" << endl; return -1; } Mat image; image = imread(argv[1], IMREAD_COLOR); // Read the file if (!image.data) // Check for invalid input { cout << "Could not open or find the image" << std::endl; return -1; } namedWindow("Display window", WINDOW_AUTOSIZE); // Create a window for display. imshow("Display window", image); // Show our image inside it. waitKey(0); // Wait for a keystroke in the window return 0; } | cs |
open cv 페이지의 tutorial에서 가져왔다.
빌드한 후 에러가 없으면 실행해본다.
dll을 찾지 못해서 발생하는 에러로 시스템 디렉터리에 해당하는 dll을 넣어 주어도 되고
프로젝트 폴더 내에 넣어 주어도 된다.
dll은 설치폴더\opencv\build\x64\vc14\bin 내에 있다.
테스트 할 때는 opencv_world310d.dll을 프로젝트 폴더 내에 넣어 테스트했더니 정상적으로 동작하였다.
비주얼 스튜디오 프로젝트 폴더\Projects\opencv test\opencv test 내에 넣었다.
이 프로그램은 명령인수를 넣어줘야 하니 귀찮으므로. (커맨드 창에서 하거나 프로젝트 속성 - 구성속성 - 디버깅에서 명령인수를 넣어주어도 된다.)
실제로 그림파일을 가지고 있다면 바로 확인할 수 있는 소스로 테스트를 해보자.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <iostream> using namespace cv; using namespace std; int main() { Mat image; image = imread("test.jpg", IMREAD_COLOR); // Read the file if (!image.data) // Check for invalid input { cout << "Could not open or find the image" << std::endl; return -1; } namedWindow("Display window", WINDOW_AUTOSIZE); // Create a window for display. imshow("Display window", image); // Show our image inside it. waitKey(0); // Wait for a keystroke in the window return 0; } | cs |
그림파일을 dll을 넣었던 프로젝트 폴더 내에 넣고 읽어와서 바로 보여준다.
여기까지 됬다면 opencv 기본 세팅은 완료된 것이다.
'PARK > 영상처리 관련' 카테고리의 다른 글
opencv dilate/erode 연산 정리 (1) | 2016.11.08 |
---|---|
YOLO: Real-Time Object Detection 실습해보기 (6) | 2016.10.19 |
우분투 16.04.1에 darknet 설치 (2) | 2016.10.19 |
우분투 16.04.1에 opencv 3.1 설치 (2) | 2016.10.18 |
open cv를 이용하여 영상 잘라내기 (0) | 2016.09.08 |