상세 컨텐츠

본문 제목

[영상처리] Visual Studio 2010 + OpenCV 2.4.8 설치

Programming/영상처리

by 영상털이범 2014.01.06 01:50

본문

Visual Studio 2010에 OpenCV 2.4.8버전을 설치해 보겠다. Visual 6.0 + OpenCV 1.0 버전부터 Visual Studio2012까지 OpenCV를 설치해 보았지만 OpenCV를 설치하는 일이란 참 귀찮다.. 이번엔 Visual Studio 2010에 설치를 할텐데, Visual Studio 2012에 설치하는 방법이랑 별 다른 차이는 없을듯 하다.

1. OpenCV 다운받기

다운받으러 가기

설치하기 위해 OpenCV 최신버전을 받는다. 현재(2014.1.5) 최신버전은 2.4.8버전이다.

다운받은후 실행하여 압축을 해제한다. 난 C드라이브에 압축해제 하였다. 알아서 opencv라는 폴더가 생성이 될 것이다.



2. 환경변수 설정

내컴퓨터 - 속성 - 고급 시스템 설정 - 환경변수 - 시스템변수 - Path - 편집

이전 환경변수를 ;(세미콜론)으로 구분지어주고
(Opencv설치폴더)\build\x86\vc10\bin; 입력 후 확인

ex) C:\opencv\build\x86\vc10\bin;

Visual Studio 2010 의 경우 vc10
Visual Studio 2008 의 경우 vc9 를 선택하면 된다.

x86은 32bit
x64는 64bit 환경이다.

재부팅을 해야 환경변수가 적용이 된다. 재부팅을 하고 계속 진행을 하자


3. 속성 설정

Visual Studio 2010 실행 후 Win32 콘솔 응용 프로그램으로 프로젝트를 생성한다. 


빈 프로젝트로 생성한다.


프로젝트 생성후 속성 관리자에서 새 프로젝트 속성 시트를 추가한다.
Debug|Win32 - 마우스 오른쪽 클릭 - 새 프로젝트 속성 시트 추가


OpenCV_Debug로 생성된 속성을 열어 수정한다.
OpenCV_Debug - 마우스 오른쪽 클릭 - 속성

공용 속성 - C/C++ - 일반 - 추가 포함 디렉터리를 추가한다.
(OpenCV 설치 폴더)\build\include

ex) C:\opencv\build\include

공용 속성 - 링커 - 일반 - 추가 라이브러리 디렉터리를 추가한다.
(OpenCV 설치 폴더)\build\x86\vb10\lib

ex) C:\opencv\build\x86\vc10\lib

공용 속성 - 링커 - 입력 - 추가 종속성 을 추가한다.
필요한 것들만 추가해도 된다. 하나를 추가 할 때 마다 ;(세미콜론)으로 구분지어 줘야한다.

opencv_calib3d248d.lib
opencv_contrib248d.lib
opencv_core248d.lib
opencv_features2d248d.lib
opencv_flann248d.lib
opencv_gpu248d.lib
opencv_highgui248d.lib
opencv_imgproc248d.lib
opencv_legacy248d.lib
opencv_ml248d.lib
opencv_nonfree248d.lib
opencv_objdetect248d.lib
opencv_ocl248d.lib
opencv_photo248d.lib
opencv_stitching248d.lib
opencv_superres248d.lib
opencv_ts248d.lib
opencv_video248d.lib
opencv_videostab248d.lib

(추가 해주는 이름뒤에 숫자는(248) 2.4.8 버전 이라는 뜻이므로 다른 버전을 설치한다면 숫자를 바꿔줘야한다.
또한 Debug모드이기 때문에 맨 뒤에 d가 들어가는데 Release모드라면 d를 빼고 입력해주면 된다.)


4. 테스트 하기

모든 설정이 끝났기 때문에 테스트를 해보겠다. 소스파일을 하나 생성한다. 

소스 파일 생성후 다음과 같은 코드를 입력한다.

#include <opencv\cv.h>
#include <opencv\highgui.h>

int main() {
	IplImage *image = cvLoadImage("test.jpg");

	cvShowImage("Test",image);
	cvWaitKey(0);

	cvReleaseImage(&image);
}

출력할 이미지인 test.jpg 파일을 프로젝트 폴더안에 넣어두고 실행을 한다.
test.jpg의 이미지가 나온다면 힘겨웠던 opencv 설치가 완료된것이다.^^

앞으로 새로운 프로젝트를 생성했을시 지금 만들었던 속성을 불러와서 사용하면 된다.

힘겨운 Open CV 설치 과정이 끝났다. 잘 따라했는데 에러가 난다면 오타가 있거나 중간에 틀린 부분이 있을것이다.

그러나 잘 따라 했다고 해도 에러가 나는 경우가 있다 64비트 컴퓨터에 그러한 경우가 발생할 텐데 아래 글을 읽고 해결하도록 하자.

2014/01/25 - [Programming/영상처리] - [영상처리] 64bit에 OpenCV 설치 에러 해결방법



관련글 더보기

댓글 영역

  • 이전 댓글 더보기
  • 프로필 사진
    2014.04.15 20:25
    비밀댓글입니다
    • 프로필 사진
      2014.04.16 16:47 신고
      감사합니다 ^.^
      제가 요즘 개인적인 사정에 의해서 글을 못올리고 있는데요
      필요한 정보가 있으시면 말씀해주세요^^
      시간이 될때 우선적으로 포스팅 하겠습니다~!
  • 프로필 사진
    2014.04.29 00:18
    정말 고맙습니다^^
  • 프로필 사진
    2014.06.30 09:53
    감사합니다. 덕분에 빠르게 설치 완료했습니다^^
  • 프로필 사진
    2014.07.09 11:04
    비밀댓글입니다
  • 프로필 사진
    2014.07.15 17:02
    하.. 지식인에 질문해놨어요 여긴 뭐 사진올리고그런게없어서
    http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=104&docId=202167114
    마지막 TEST하는데 소스 집어넣고 컨트롤 에프오 눌러서 실행시켰는데 먼가 에러가 나오네요 그림처럼 답변좀해주세용 여기다가해주셔도되고요
    • 프로필 사진
      2014.07.15 20:56 신고
      환경변수 설정은 제대로 하셨는지, 경로는 제대로 하셨는지 한번더 확인해 주시고
      환경변수 설정 후에는 재부팅을 한번 해주세요
      그래도 안된다면 다시 답변을 주시길 바랍니다!
  • 프로필 사진
    2014.07.16 13:37
    아 여기엔 긂이 안붙여져서 답ㄷ바하네요 ㅋ 환경변수 path에 편집 누르고 보니깐
    C:\opencv\build\x64\vc10;bin; 를 뒤에 붙이기전에 써있는 것들이

    C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\ 이렇게 되있던데요.. 그냥 여기에다가 뒤에 C:\opencv\build\x64\vc10;bin; 이거 붙이는거맞죠? 그림 보니깐 include 머 이런거 써있으시던데..
    • 프로필 사진
      2014.07.16 16:00 신고
      원래 있던 path에서
      맨 끝부분에 세미콜론 ( ; )을 하나 붙여서 구분해 주시고요
      그다음에 C:\opencv\build\x64\vc10\bin;
      이게 맞는거겠죠?
      군더더기 업이 정리하자면
      ;C:\opencv\build\x64\vc10\bin;
      이렇게 쓰는게 맞겠네요
      님께서는 오타가 있으니 확인해주세요
  • 프로필 사진
    2014.07.26 19:16
    혹시 아래의 2가지 오류에 대해서 해결할방법이 있을까요? 아래 2가지의 파일이 경로에 있는데 자꾸 실행만 시키면 저 2가지가 찾거나 열 수 없다고 뜨네요

    opencv01.exe': 'C:\opencv\build\x86\vc10\bin\opencv_core249d.dll' 로드, PDB 파일을 찾거나 열 수 없습니다.
    'opencv01.exe': 'C:\opencv\build\x86\vc10\bin\opencv_highgui249d.dll' 로드, PDB 파일을 찾거나 열 수 없습니다.
    • 프로필 사진
      2014.07.28 08:45 신고
      일단 속성페이지에서 [공용 속성] - [링커] - [입력] - [추가 종속성] 항목에
      제대로 추가를 해주셨는지 확인해 주시길 바랍니다.
      저런 경우에는 대게 오타가 있는 경우가 많습니다.
      또한 환경변수 설정후 재부팅을 하지 않아도 저런 경우가 발생하곤 합니다.
      제일먼저 오타확인부터 해주시길 바랍니다~!
  • 프로필 사진
    2014.08.06 09:38 신고
    좋은 글 감사합니다!
    꼼꼼하게 설명되어 있어서 잘 설치되었네요!!

    그런데 속성관리자에 설정해주는 것은 새로운 프로젝트를 생성할 때마다 해주어야 되는 건가요?? 매우 번거롭군요 ㅜ
    • 프로필 사진
      2014.08.06 21:06 신고
      새로운 프로젝트 생성시
      속성관리자를 새로 설정하지 않고
      이전에 설치했던 프로젝트의 속성을 불러와서 사용하면 됩니다!
      '새 프로젝트 속성 시트 추가' 가 아닌
      ' 기존 속성 시트 추가' 를 선택하시고 이전 프로젝트를 뒤져보시면 저장해두신 속성이 있을겁니다!
  • 프로필 사진
    2014.08.06 14:52
    감사합니다. 가볍게 성공했네요~~
    문제의 대부분은 오타라는것을 깨달았습니다. 30분만에 성공했네요 ㄷㄷㄷ
  • 프로필 사진
    2014.09.17 22:58
    제가2.4.9버전을 다운받아서 다 249로 바꿔서 설정했는데 왜 저런 오류가 뜰까요? ㅠㅠ

    1>LINK : fatal error LNK1104: 'opencv_flann248d.lib' 파일을 열 수 없습니다.
    • 프로필 사진
      2014.09.19 09:12 신고
      opencv_flann248d.lib 파일을 열 수 없다는 메세지인데
      숫자가 248로 되어있죠?
      아마도 249로 바꾸지 않은 부분이 있는것 같습니다.
      오타일 확률이 99% 이기 때문에 다시한번 살펴보시길 바랍니다.
  • 프로필 사진
    2014.09.18 11:57
    어렵게 오늘 opencv 2.4.9를 설치 했습니다.
    테스트 소스를 실행했는데 이미지가 출력이 되지않고 회색 박스만 출력이 되네요
    이미지 크기는 644*482인 jpg 파일 입니다. 이미지가 출력되지 않는 이유를 모르겠네요.
    • 프로필 사진
      2014.09.19 09:14 신고
      이미지파일의 이름을 제대로 적어주셨나요?
      이미지파일의 경로가 잘 못 되어있는건 아닌가요?
      다시한번 확인해주시길 바랍니다.
  • 프로필 사진
    2014.09.21 13:59
    설정을 다 하고 웹캠을 띄우는 예제소스를 넣었는데 컴파일은 성공했다고 뜹니다.

    근데 opencv_core249d.dll이 찾을 수 없다네요.

    어떻게 해결 방법이 없을까요??ㅜㅜ

    아래주소는 사진첨부입니다ㅜㅜ

    http://kinimage.naver.net/20140921_131/1411274265245b54dN_PNG/3.PNG?type=w620
  • 프로필 사진
    2014.11.11 10:11
    원래 있던 환경변수를 실수로 삭제하였는데
    복구는 불가능한가요?
  • 프로필 사진
    2015.03.05 18:15
    비밀댓글입니다
  • 프로필 사진
    2015.04.06 11:26
    1>------ 빌드 시작: 프로젝트: OpenCV_Test, 구성: Debug Win32 ------
    1> test.cpp
    1>c:\opencv\build\include\opencv2\flann\dist.h : warning C4819: 현재 코드 페이지(949)에서 표시할 수 없는 문자가 파일에 들어 있습니다. 데이터가 손실되지 않게 하려면 해당 파일을 유니코드 형식으로 저장하십시오.
    1>c:\opencv\build\include\opencv2\flann\logger.h(66): warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\stdio.h(218) : 'fopen' 선언을 참조하십시오.
    1>test.obj : error LNK2019: _cvReleaseImage 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.
    1>test.obj : error LNK2019: _cvShowImage 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.
    1>test.obj : error LNK2019: _cvLoadImage 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.
    1>test.obj : error LNK2019: _cvWaitKey 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.
    1>C:\Users\User\Desktop\OpenCV_Test\Debug\OpenCV_Test.exe : fatal error LNK1120: 4개의 확인할 수 없는 외부 참조입니다.
    ========== 빌드: 성공 0, 실패 1, 최신 0, 생략 0 ==========
    라는데 이런건 어떻게 해야되나요. 라이브러리나 Path 다 올바르게 하였는데..
  • 프로필 사진
    2015.05.06 13:40
    > 모든 출력이 최신 상태입니다.
    1>testtest.obj : error LNK2019: _cvReleaseImage 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.
    1>testtest.obj : error LNK2019: _cvWaitKey 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.
    1>testtest.obj : error LNK2019: _cvShowImage 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.
    1>testtest.obj : error LNK2019: _cvLoadImage 외부 기호(참조 위치: _main 함수)에서 확인하지 못했습니다.
    1>C:\Users\Administrator\Documents\Visual Studio 2010\Projects\OpenCV_Test\Debug\OpenCV_Test.exe : fatal error LNK1120: 4개의 확인할 수 없는 외부 참조입니다.
    1>
  • 프로필 사진
    2015.05.11 11:45
    Error 1 error LNK1123: failure during conversion to COFF: file invalid or corrupt C:\Users\jong ho kim\Desktop\OpenCV_Test\OpenCV_Test\LINK OpenCV_Test

    Error 2 IntelliSense: cannot open source file "defines.h" c:\opencv\build\include\opencv2\flann\dis

    이러한 에러가 뜹니다 이 경우는 왜그런가요?
    왜 defines.h 를 오픈할 수 없나요
  • 프로필 사진
    2015.06.01 20:09
    VC11은 이거 뭐죠 제가사용하는 visual 은 2010인데
  • 프로필 사진
    2015.11.01 15:09
    빈프로젝트를 생성했는데요
    debug랑 release대신
    리소스파일 소스파일 외부종속성 헤더파일
    이렇게 있을경우 어떻게 해야되나용?
  • 프로필 사진
    2016.01.18 18:04
    안녕하세요.
    OpenCV 2.4.9 를 글을 따라서 설치해보았습니다.
    경로설정도 ;D:\opencv\build\x86\vc10\bin; 이렇게 했고, 다른 부분들도 똑같이 해줬습니다.
    C:\Users\kyungheon\Documents\Visual Studio 2010\Projects\3D스캐너
    그리고 여기에 3456 X 2304 JPG 파일을 저장했구요.

    하지만 컴파일( Ctrl + F5 )을 해보면
    1>------ Build started: Project: 3D스캐너, Configuration: Debug Win32 ------
    1>Build started 2016-01-18 오후 6:03:40.
    1>InitializeBuildStatus:
    1> Touching "Debug\3D스캐너.unsuccessfulbuild".
    1>ClCompile:
    1> All outputs are up-to-date.
    1>ManifestResourceCompile:
    1> All outputs are up-to-date.
    1>LinkEmbedManifest:
    1> 3D스캐너.vcxproj -> C:\Users\kyungheon\Documents\Visual Studio 2010\Projects\3D스캐너\Debug\3D스캐너.exe
    1>FinalizeBuildStatus:
    1> Deleting file "Debug\3D스캐너.unsuccessfulbuild".
    1> Touching "Debug\3D스캐너.lastbuildstate".
    1>
    1>Build succeeded.
    1>
    1>Time Elapsed 00:00:03.60
    ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

    빌드가 되었는데 cmd 창에 아무것도 안뜹니다.
    어떤 오류인지.. 왜 이런증상이 뜨는지 잘 모르겠습니다..
    도와주시면 정말 감사하겠습니다