$ uname -a
Linux laptop 4.19.0-2-amd64 #1 SMP Debian 4.19.16-1 (2019-01-17) x86_64 GNU/Linux
cv::face::createLBPHFaceRecognizer()
핵심 OpenCV의 일부는 아니지만 기여 모듈인 이를 사용해야 합니다 .
$ dpkg -l libopencv-contrib-dev
ii libopencv-contrib-dev:amd64 3.2.0+dfsg-6 amd64 development files for libopencv-contrib3.2
모든 것이 괜찮습니다... 아니오:
src/cmd.cpp:150: error: ‘cv::face’ has not been declared
const auto model = cv::face::createLBPHFaceRecognizer();
^~~~
좋아요 그런 다음 필요한 헤더를 수동으로 포함해 보겠습니다.
$ dpkg -S libopencv-contrib-dev
libopencv-contrib-dev:amd64: /usr/share/doc/libopencv-contrib-dev
libopencv-contrib-dev:amd64: /usr/share/doc/libopencv-contrib-dev/changelog.Debian.gz
libopencv-contrib-dev:amd64: /usr/share/doc/libopencv-contrib-dev/copyright
libopencv-contrib-dev:amd64: /usr/share/doc/libopencv-contrib-dev/README.Debian
아무것도 없어! 이것은 패키저의 잘못입니까(이것은 데비안입니다)시험결국)? OpenCV의 특징? 내 부분의 작은 감독? 나는 모든 것을 직접 컴파일하는 대신 패키지 관리자를 계속 사용하고 싶습니다.
답변1
패키지는 괜찮습니다. 잘못된 dpkg
옵션을 사용하고 있습니다.
dpkg -L libopencv-contrib-dev
libopencv-contrib-dev
당신이 찾고 있는 파일이 모두 나열됩니다 (다음에 있는 모든 파일이 표시됩니다).여기에 나열됨), 하지만
dpkg -S libopencv-contrib-dev
libopencv-contrib-dev
나열된 4개 파일과만 일치하는 경로의 파일을 설치된 모든 패키지에서 검색합니다 .
답변2
이것은 내 실수입니다.
#include <opencv2/opencv.hpp>
#include <opencv2/face.hpp>
첫 번째 포함만으로는 충분하지 않으며 두 번째 포함이 필요합니다.
이것이 문제를 해결하는 동안 왜 유용한 파일이 dpkg -S
.