2012-05-31 4 views
1

나는 비슷한 질문을 How to link and use OpenCV headers?에 요청했지만 지금까지는 행운이 없습니다. 그래서 좀 더 구체적인 새로운 질문을하기로했습니다.Visual Studio 2010 프로젝트에서 OpenCV 2.4.0 사용

내 C++ 프로젝트에 어떤 OpenCV 관련 폴더 또는 파일을 포함시켜야하는지 알려줄 수 있습니까? 내 C : \ 드라이브에 OpenCV 2.4.0을 설치했습니다. OpenCV 웹 사이트의 자습서를 살펴 봤지만 이전 버전 (OpenCV 2.1) 용이며 objdetect.hpp와 같은 현재 존재하지 않는 파일을 참조합니다 (예 :).

도와주세요. 감사.

+2

를 가리켜 야합니다 date : http://docs.opencv.org/doc/tutorials/introduction/windows_install/windows_install.html#windows-installation –

답변

3

http://docs.opencv.org/doc/tutorials/introduction/windows_visual_studio_Opencv/windows_visual_studio_Opencv.html#windows-visual-studio-how-to

당신이 OpenCV의의 예를 넣을 곳으로 OPENCV_DIR을 설정 한 가정 당신에 stdafx.h

#include <opencv2/core/core.hpp>  // cv::Mat etc, always need this 
#include <opencv2/imgproc/imgproc.hpp> // all the image processing functions 
#include <opencv2/highgui/highgui.hpp> // Display and file I/O 

에 이러한 추가를 참조하십시오. OPENCV_DIR=c:\opencv2.4\opencv

그런 다음 $(OPENCV_DIR)\include를 추가 포함합니다 에 프로젝트 설정에서 VC++ 디렉토리를 설정하고 도서관에 '링커 입력 "opencv_core240.lib를 추가 (opencv_core240D.lib 디버그 용) opencv_imgproc240.lib 및 opencv_highgui240에 그런

$(OPENCV_DIR)\lib를 추가 .LIB 등

+0

내가 처음 생각하는 것은 "하위 라이브러리에는 항상 코어가 포함되어있는 이유가 무엇입니까?" 그러나 이것은 OpenCV 웹 사이트에 더 적합한 것입니다. –

+0

@ 케빈 - 당신은 항상 다른 모든 것을 포함하는 "opencv.hpp"를 만들 수 있지만, 그것은 미리 컴파일 된 헤더가 어쨌든하는 일입니다. 라이브러리의 수는 일부 국가에서 특허를받은 기능을 분리해야하기 때문에 불행히도 증가하고 있습니다. 예를 들어 단일 opencv_global.lib가있을 것입니다. 휴대폰에 많은 라이브러리가있는 것이 더 어렵습니다. –

+0

"항상 모든 것을 포함"한다는 의미는 아닙니다. 항상 다른 사람이이 헤더를 포함 시켜야만하는 이유가 무엇입니까? 사용자가 파일에서 필요로하지 않는 라인이 더 많습니까? 무언가는 그들이 그것들이라고 말하고 여분의 포함은 불필요합니다. 그러나 저는이 라이브러리를 전에 사용하지 않았습니다. 그리고 그것은 여러분의 스 니펫을 보는 것으로부터 저에게 처음 발생한 것입니다. 만약 내가 당신의 발췌 문장을 잘못 해석한다면, 용서해주십시오. –

1

을 OpenCV의 폴더 구조는 따라서 튜토리얼에서 설명한 이외의 폴더를 사용해야 2.4 변경된 :

    P
  • 빌드 디렉토리 (예 : .dll)에 OPENCV_DIR을 넣으십시오. C:\opencv\build) 플랫폼 별 디렉토리가 아닙니다.
  • 에 경로 변수이가 간 것입니다 ... 당신의 플랫폼 별 빈 디렉토리 (예 : %OPENCV_DIR%\x86\vc10\bin을)에 링커 속성에 대한 동일
  • (예 : $(OPENCV_DIR)\x86\vc10\lib)