在opencv_contrib模块成功构建后,OpenCV 3.1.0中缺少face.hpp

Missing face.hpp in OpenCV 3.1.0 after successful build with opencv_contrib modules

本文关键字:hpp face OpenCV contrib opencv 模块 成功 构建      更新时间:2023-10-16

我正在使用OpenCV在c++中做一个项目,并坚持添加人脸识别模块

我没有错误地构建了OpenCV的额外模块(opencv_contrib)使用以下make命令

$ 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安装后真的用openCV源代码构建?

其他条件:
Ubuntu 15.10
代码::块16.10
GCC version 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

我想知道这个方法的缺点是什么,为什么没有任何文档记录。