2011-10-30 5 views
0

Windows에서 얼굴 인식 용 OpenCV를 사용하는 동안 거의 모든 라이브러리 (2d, 3d, ml, gui 등)를 가져와야합니다. 그렇지 않으면 내 프로그램이 실행되지 않습니다. 나는 왜 내가 객체 감지와 같은 알고리즘을 위해 어떤 GUI를 필요로하는지 잘 모르겠다. 필요한 최소한의 라이브러리는 무엇이며 OpenCV를 빌드하는 특별한 방법이 있습니까? 예를 들어, 많은 의존성이 없습니까?OpenCV에서 얼굴 인식을위한 최소한의 필수 라이브러리는 무엇입니까

답변

0

cv :: Mat, opencv_imgproc와 같은 기본 객체를 얻으려면 임계 값, 히스토그램 및 기타 이미지 사전 처리를 사용하고 opencv_highgui를 사용하여 이미지 읽기, 쓰기 및 표시, 카메라 및 비디오 파일의 비디오 스트림 사용이 필요합니다. Windows에서 openCV를 실행하는 방법을 알지 못하고 사용중인 openCV의 버전을 알지 못한다면 말할 수 있습니다. 내가 아는 한 openCV의 일부만을 빌드하는 방법은 없습니다.

일반적으로 내 경험으로는 사용중인 헤더와 관련된 라이브러리 만 추가하면됩니다. 따라서 문제를 추적하는 데 문제가 있으면 #include "opencv2/opencv.hpp"을 사용하지 말고 #include "opencv2/core/core.hpp" 등 조금 더 열심히 시도하십시오.

+0

highgui 라이브러리에서 API를 사용하지 않고 디스크에 이미지를 읽거나 쓰는 몇 가지 예가 있습니까? Core, 2d 등과 같은 OpenCV API의 나머지 부분을 사용하고 싶지만,이 라이브러리에서 원했던 것이 전체 Win32 API 세계에서 끌리는 이미지 파일 처리이므로 highgui 라이브러리에 대한 종속성을 원하지 않습니다. –

+0

나는 당신이 쓴 것을 이해하지 못합니다. win32 API를 피하려면 highgui가 좋은 선택입니다. OpenCV를 실행할 수있는 모든 시스템에 대해 단일 API를 제공하기 때문입니다. 필자는 네이티브 메커니즘을 사용하지 않고 OpenCV 데이터를 저장하기 위해 이진 fstream만을 사용 했으므로 보여줄 것이 없다고 생각합니다. – morynicz

+0

내가 말하는 것은 내 응용 프로그램에 GUI가 필요 없으며 이미지에 highgui를 사용하여 불필요하게 내 응용 프로그램에 필요없는 여러 Win32 종속성을 가져 오거나 읽습니다. –

0

예, 특정 라이브러리 기능없이 OpenCV를 빌드 할 수 있습니다. OpenCV는 CMake을 사용합니다. 아직 모르는 경우 약간의 학습이 필요하지만 CMake 빌드 구성에서 필요없는 OpenCV 구성 요소의 선택을 취소 할 수 있습니다.

다른 라이브러리를 사용하여 이미지를 읽을 수 있으면 앱에서 highgui를 사용하지 않고도 빠져 나갈 수 있지만 OpenCV없이 이미지를 읽을 수 있으면 확실하지 않습니다.

또한 Haar 계단식 분류기 (OpenCV 2.3.1 기준) 지원을 위해서는 #include "opencv2/objdetect/objdetect.hpp"이 필요합니다.

관련 문제