我正在使用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
代码::块16.10
gcc版本5.2.1
答案 0 :(得分:2)
显然,我设法通过执行以下操作来解决问题。
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
我想知道这种方法的缺点以及为什么没有记录在任何地方。