$ uname -a
Linux laptop 4.19.0-2-amd64 #1 SMP Debian 4.19.16-1 (2019-01-17) x86_64 GNU/Linux
Eu preciso usar cv::face::createLBPHFaceRecognizer()
, que não faz parte do núcleo do OpenCV, mas sim um módulo contribuído.
$ dpkg -l libopencv-contrib-dev
ii libopencv-contrib-dev:amd64 3.2.0+dfsg-6 amd64 development files for libopencv-contrib3.2
tudo bem... não:
src/cmd.cpp:150: error: ‘cv::face’ has not been declared
const auto model = cv::face::createLBPHFaceRecognizer();
^~~~
OK. Vamos então incluir os cabeçalhos necessários manualmente:
$ 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
Nada! Isso é um erro do empacotador ( afinal , este é o teste do Debian)? Uma peculiaridade do OpenCV? Um pequeno descuido do meu lado? Eu gostaria de continuar usando o gerenciador de pacotes, em vez de compilar tudo sozinho.
O pacote está bom, você está usando a opção errada
dpkg
:irálistar todos os ficheiros no
libopencv-contrib-dev
, que é o que procura (e irámostrar todos os ficheiros listados aqui ), enquantopesquisa todos os pacotes instalados para arquivos com
libopencv-contrib-dev
em seu caminho, que corresponde apenas aos quatro arquivos que você listou.Foi um descuido da minha parte.
A primeira inclusão é insuficiente, a segunda também é necessária.
Embora isso resolva o problema, eu gostaria de uma explicação por que nenhum arquivo útil aparece em
dpkg -S
.