http://webnautes.tistory.com/1132
미리 빌드되어 배포되는 윈도우용 OpenCV 라이브러리 3.4.1을 Visual Studio 2017에서 사용하기 위해 필요한 과정을 설명합니다.
마지막 업데이트 - 2018. 5. 31
1. OpenCV 공식 사이트(http://opencv.org/releases.html )에서 Win pack을 다운로드 받습니다.
OpenCV 깃허브(github)에서는 opencv-3.4.1-vc14_vc15.exe를 다운로드 받으면 됩니다.
https://github.com/opencv/opencv/releases
2. 다운로드 받은 파일의 이름 opencv-3.4.1-vc14_vc15.exe 에서도 알 수 있듯이 vc14(Visual Studio 2015)와 vc15(Visual Studio 2017)를 위해 미리 빌드된 라이브러리가 배포되고 있습니다.
실행하면 압축을 해제할 위치를 물어봅니다. 위치 변경없이 바로 Extract를 클릭하면 설치 파일이 위치한 곳에 압축이 풀립니다.
디폴트 폴더 이름인 opencv를 변경할 수 없기 때문에 기존에 설치된 OpenCV 라이브러리에 덮어쓰기가 될 수 있습니다.
가급적이면 압축을 풀고 이름을 변경한 후에 해당 위치로 복사하세요.
3. 압축을 풀어 생성된 opencv 폴더는 미리 빌드된 라이브러리가 포함되어 있는 build 폴더와 OpenCV 소스 코드가 포함되어 있는 sources 폴더로 구성되어 있습니다.
opencv 폴더 이름을 적당한 이름으로 변경 후 원하는 위치로 복사해줍니다.
본 포스팅에서는 OpenCV 라이브러리 폴더가 C:opencv-3.4.1 에 있는 것으로 가정하고 진행합니다.
4. 비주얼 스튜디오의 메뉴에서 파일 > 새로 만들기 > 프로젝트를 선택하거나 Ctrl + Shift + N을 누릅니다.
새 프로젝트 창에서 빈 프로젝트를 선택합니다.
(예전에 있던 Win32 콘솔 프로젝트가 Visual Studio 버전업에 따라 사라져서 대신 빈 프로젝트를 사용합니다.)
프로젝트 이름을 적어주고 확인을 클릭합니다.
5. 솔루션 탐색기에서 소스 파일을 선택합니다.
마우스 오른쪽 버튼을 눌러 보이는 메뉴에서 추가 > 새 항목을 클릭합니다.
6. C++ 파일(.cpp)를 선택하고 소스 파일의 이름을 수정한 후, 추가 버튼을 클릭합니다.
(이름을 바꾸지 않아도 됩니다.)
소스 파일 항목에 cpp 파일이 추가됩니다.
7. 툴바의 솔루션 플랫폼을 x64로 변경합니다.
현재는 빌드된 64비트용(x64) 라이브러리만 배포되고 있기 때문에 32비트용(x86)이 필요한 경우에는 OpenCV 소스 코드를 가지고 컴파일해야 합니다.
경험상 Visual Studio 버전이 차이나도 동작할 수는 있지만 오동작하는 발생하면 다시 라이브러리를 빌드해야 합니다
OpenCV 소스코드 컴파일시 다음 포스팅을 참고하시면 도움이 될 듯합니다.
Visual Studio 2017용으로 OpenCV 3.4 빌드 하기 (opencv_contrib 포함)
http://webnautes.tistory.com/1036
8. 솔루션 탐색기에서 다음처럼 프로젝트 이름을 선택하고 메뉴에서 프로젝트 > 속성을 선택합니다.
9. 속성 페이지 창 왼쪽 위에 보이는 구성을 모든 구성으로 변경합니다.
Debug 모드와 Release 모드의 공통 부분을 한번에 설정할 수 있습니다.
10. 왼쪽 리스트에서 C/C++를 선택하고 추가 포함 디렉터리 항목에 OpenCV 헤더 파일 위치를 입력합니다.
C:opencv-3.4.1buildinclude
11. 왼쪽 리스트에서 링커를 선택하고 추가 라이브러리 디렉터리 항목에 OpenCV 라이브러리 파일 위치를 입력합니다.
C:opencv-3.4.1buildx64vc15lib
12. 왼쪽 리스트에서 구성 속성 > 디버깅을 선택하고 환경 항목에 OpenCV 라이브러리 DLL 파일 위치를 입력합니다.
PATH=C:opencv-3.4.1buildx64vc15bin;%PATH%
13. 구성을 활성(Debug)로 변경하고
예를 클릭해서 설정을 저장합니다.
왼쪽 리스트에서 링커 > 입력을 선택하고 추가 종속성 항목의 값 맨 앞에 디버그용 라이브러리 이름을 입력합니다. 이름 뒤에 세미콜론을 넣어줘야 합니다.
opencv_world341d.lib;
14. 구성을 Release로 변경하고
예를 클릭해서 설정을 저장합니다.
왼쪽 리스트에서 링커 > 입력을 선택하고 추가 종속성 항목의 값 맨 앞에 릴리즈용 라이브러리 이름을 입력합니다. 이름 뒤에 세미콜론을 넣어줘야 합니다.
opencv_world341.lib;
이제 확인을 눌러서 속성 페이지 창을 닫습니다.
15. 다음 경로에 있는 소스 코드를 테스트에 사용합니다.
C:opencv-3.4.1sourcessamplescppvideocapture_basic.cpp
|
/** |
프로젝트의 소스 파일로 해당 코드를 복사해오고 나서 F5를 눌러서 컴파일 및 실행시켜 봅니다.
실행에 문제가 있다면 백신의 실시간 보호 기능 때문일 가능성이 높습니다.
툴바의 솔루션 구성이 Debug / Release 로 설정되어 있을 때, 각각 문제 없이 동작하는지 확인해봅니다.
참고로 F5를 눌러서 실행하면 디버거와 함께 프로그램이 실행되고, Ctrl + F5를 눌러서 실행하면 프로그램만 실행됩니다.
문제 없다면 웹캠으로부터 캡처된 영상을 보여주는 창이 보입니다.
ESC 키를 누르면 실행이 중단됩니다.