dev-logs

1. opencv 3.0 설치 및 세팅 본문

공부/영상처리

1. opencv 3.0 설치 및 세팅

두룹두두 2017. 12. 15. 17:53

영상처리에 많이 활용되는 opencv 를 설치해보겠습니다.


앞으로 포스팅을 계속할지 안할지는 잘모르겠지만....ㅎㅎ 


opencv는 이미지나 영상을 보기위한 (display) 용도로만 사용할 예정입니다.




1. 설치








http://opencv.org/


사이트에 들어가서 






download 메뉴로 들어갑니다.










여러 버전들이 많지만 여기서는 3.0 으로 설치하도록 하겠습니다.






OpenCV for Windows 를 클릭해 들어가서 파일을 다운로드 받으면







이런 아이콘의 파일이 생깁니다.


파일을 실행하면 










압축할 위치를 정하는데 


C드라이브에 푸는걸 권장합니다.








이제 설치는 끝났습니다!


























2. 세팅






visual studio를 실행합니다. 참고로 저는 2015버전입니다.










c++ 의 win32 콘솔 응용 프로그램으로 새 프로젝트를 만들어주세요.(빈 프로젝트 체크!)








새 프로젝트가 추가되면 메뉴창에 프로젝트 - 속성 에 들어가면











이런창이 나오는데








왼쪽 구성속성 목록에서 c/c++  -  일반 으로 들어가면







추가 포함 디렉터리 라는 항목이 있습니다. 오른쪽의 ∨ 표시 클릭













... 버튼을 눌러서 디렉터리 선택창을 열어줍니다.


C:\opencv\build\include 경로로 선택. opencv폴더는 아까 압축풀었던 위치에 있습니다!














이번엔 링커 - 일반 항목으로 이동합니다.
똑같은 방법으로 디렉터리 선택 창을 열고


내 컴파일러가 64bit 용인 경우   C:\opencv\build\x64\vc12\lib를 추가 
내 컴파일러가 32bit 용인 경우   C:\opencv\build\x86\vc12\lib를 추가








컴퓨터의 버전이랑 컴파일러 버전이랑 다른경우가 있기때문에 세팅하기전에
컴파일러버전을 한번 확인하는게 도움이 됩니다! 


컴파일러 버전 확인하는 방법은 어렵진않지만 
이번포스팅은 세팅하는것 이므로 따로 포스팅하겠습니다.







저는 제 컴터가 64비트니까 컴파일러도 64비트이겠지 하고.... 생각했다가 64비트로 세팅했는데
LNK1112 'X86' 모듈 컴퓨터 종류가 'x64' 대상 컴퓨터 종류와 충돌합니다.


다음과 같은 오류가 나더군요. 컴파일러 버전문제인지 모르고 한참을 헤맸습니다ㅠㅜㅠㅜ 








그리고  링커 - 입력으로 가서 추가종속성을 추가해줍니다.


opencv_world300d.lib
opencv_ts300d.lib


입니다.














마지막으로 환경변수 설정해주면 끝납니다
ㅎㅎ










컴퓨터 우클릭 - 속성 - 고급 시스템 설정 으로 갑니다.


고급탭에 환경변수 버튼을 누르면 환경변수를 편집할 수 있는 창이 나옵니다.










시스템 변수 목록 - 새로 만들기 
변수 이름 : OPENCV_BUILD 
변수 값 : C:\opencv\build




다음과 같이 변수를 새로 만들어주세요.










시스템 변수 목록 – Path – 편집


변수 값 뒷부분에 C:\opecv\build\x86\vc12\bin; 
추가해줍니다.



테스트용으로 간단한 이미지 띄우기 예제를 해보겠습니다.


프로젝트 소스파일에 cpp파일을 추가하고 다음코드를 입력합니다.

참고로

프로젝트폴더 안에 lena.jpg, lena_out.jpg 파일이
있어야합니다. 

첨부파일 받으시거나 사용하실 이미지파일명으로 고친후 사용하시길 바랍니다.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "opencv2\opencv.hpp"
 
using namespace cv;
 
void main()
{
    Mat InputImage = imread("lena.jpg"-1);
    Mat OutputImage = InputImage.clone();
 
    imshow("Input", InputImage);
    imwrite("lena_out.jpg", OutputImage);
 
    waitKey(0);
}
cs








결과화면



Comments