Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ opencv 3.0中缺少contrib模块?_C++_Opencv_Image Processing_Opencv3.0_Opencv Contrib - Fatal编程技术网

C++ opencv 3.0中缺少contrib模块?

C++ opencv 3.0中缺少contrib模块?,c++,opencv,image-processing,opencv3.0,opencv-contrib,C++,Opencv,Image Processing,Opencv3.0,Opencv Contrib,我正在使用OpenCV 3.0测试版 我尝试使用createLBPHFaceRecognizer创建一个人脸识别器;类别为 **Ptr <FaceRecognizer> model = createLBPHFaceRecognizer();** 我研究发现,该类存在于opencv2的contrib模块中 OpenCV早期版本中的opencv2/contrib/contrib.hpp 但是这个模块在opencv 3.0测试版中不可用。 那么opencv 3.0中定义的识别器类

我正在使用OpenCV 3.0测试版

我尝试使用createLBPHFaceRecognizer创建一个人脸识别器;类别为

   **Ptr <FaceRecognizer> model =  createLBPHFaceRecognizer();**
我研究发现,该类存在于opencv2的contrib模块中 OpenCV早期版本中的opencv2/contrib/contrib.hpp

但是这个模块在opencv 3.0测试版中不可用。 那么opencv 3.0中定义的识别器类在哪里呢


如果未定义这些模块,我们如何在现有模块的基础上添加此模块

您必须下载并构建回购协议

运行cmake、make、make安装后

#include <opencv2/face.hpp>

// note the additional namespace:    
cv::Ptr <cv::face::FaceRecognizer> model = cv::face::createLBPHFaceRecognizer();
// proceed as usual
发件人:

启动cmakegui 选择opencv源代码文件夹和存放二进制文件的文件夹 将构建接口的两个上部形式 按配置按钮。您将看到所有opencv构建 中央接口中的参数 浏览参数并查找名为 OPENCV_额外_模块_路径使用搜索表单快速关注 信息技术 使用正确的路径名完成此OPENCV_额外_模块_路径,以 /modules值使用其浏览按钮。 按配置按钮,然后按生成按钮 第一次,您将被询问使用哪种makefile样式 使用您选择的make和make方法构建opencv核心 如果在步骤6中选择Unix makfile,请安装
要运行,需要添加contrib模块的链接器标志,以便在代码/IDE中使用它们。例如,要使用aruco模块,将添加-lopencv_aruco标志。

在我的Debian安装中

$ dpkg -l libopencv-contrib-dev
ii  libopencv-contrib-dev:amd64 3.2.0+dfsg-6 amd64        development files for libopencv-contrib3.2
使我能够使用仅包含一个附加模块的已贡献模块。例如:

#include <opencv2/opencv.hpp>
#include <opencv2/face.hpp>
auto model = cv::face::createLBPHFaceRecognizer();

感谢您的回复。我尝试使用cmake gui构建opencv_contrib,但在存储库中找不到任何cmake列表。cmake列表位于存储库中的各个模块中。但构建单个模块会带来错误。如何解决此问题?您将opencv_contrib模块添加到您的cmake中,在主opencv目录-DOPENCV_EXTRA_MODULES_PATH=/MODULES中创建,并重新构建主opencv repo,而不是单独创建。谢谢..如何在cmake GUI DOPENCV_EXTRA_MODULES_PATH中添加此路径。?单击“分组”,->opencv->opencv_EXTRA_MODULES_pathr只需搜索opencv_EXTRA_MODULES_路径,CMke gui就会为您找到它:
#include <opencv2/opencv.hpp>
#include <opencv2/face.hpp>
auto model = cv::face::createLBPHFaceRecognizer();