我正在使用 OpenCV 用 C++ 做一个项目,并坚持添加人脸识别模块
我使用以下 make 命令毫无错误地构建了 OpenCV (opencv_contrib) 的额外模块
$ cmake -D CMAKE_BUILD_TYPE=RELEASE OPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules ../opencv-3.1.0
$ make
$ sudo make install
我的代码涉及以下内容,因为我复制了代码进行测试
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/face.hpp" //-----> Doesn't exist
当我尝试在 code::blocks 中构建代码时,显示以下错误:
~/Desktop/OpenCV_Project/OpenCv_Demos/Face_Recognition/main.cpp|6|fatal error: opencv2/face.hpp: No such file or directory|
我也搜索过链接目录,没有face.hpp这样的文件
如何确保在 make/make install 之后额外的模块确实是使用 openCV 源构建的?
其他要求:
Ubuntu 15.10
代码:: block 16.10
海湾合作委员会版本5.2.1
最佳答案
显然我通过执行以下操作成功解决了该问题。
1.导航到opencv_contrib/modules目录并复制face文件夹
2.导航到 opencv-3.1.0/module 目录并粘贴。
3.创建一个构建文件夹(或任何要构建的位置)并执行以下 make 命令。
cmake -D CMAKE_BUILD_TYPE=RELEASE ..
即没有额外的模块(因为我们已经在 opencv-3.1.0/modules 中复制了所需的模块)
4.然后
make
sudo make install
我想知道这个方法有什么缺点以及为什么它没有在任何地方记录。
关于c++ - 使用 opencv_contrib 模块成功构建后,OpenCV 3.1.0 中缺少face.hpp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40332404/