c++ - 使用 opencv_contrib 模块成功构建后,OpenCV 3.1.0 中缺少face.hpp

标签 c++ cmake opencv3.1

我正在使用 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/

相关文章:

android - 如何解决 android 和 ios 跨平台开发的#define 问题?

c++ - 如何在使用 Oracle OCCI 库迭代结果时计算列数?

cmake:如何将目标从子目录导入到更高级别?

gcc - Cygwin gcc 需要哪些类型的库?

c++ - OpenCV 3.1.0 C++ 预测函数 RAW_OUTPUT 返回值有时是反的

python - 将 HSV 转换为灰度以应用 Hough 变换

c++ - C语言的溢出工具是什么?

python-3.x - pip install dlib,找不到Cmake错误编译器

sift - 模块对象没有属性 'DescriptorExtractor_create()'

c++ - 计算序列的第 n 项。为什么我会收到编译器错误?