opencv 3.0 中缺少 contrib 模块?
contrib module missing in opencv 3.0?
我正在使用 OpenCV 3.0 测试版。
我尝试使用 createLBPHFaceRecognizer() 创建人脸识别器; class 作为,
**Ptr <FaceRecognizer> model = createLBPHFaceRecognizer();**
我的错误是
**error: 'createLBPHFaceRecognizer' was not declared in this scope**
我研究了一下,发现class存在于opencv2的contrib
模块中
(opencv2/contrib/contrib.hpp) 在以前版本的 OpenCV
但是这个模块在 opencv 3.0 beta 中不可用。
那么opencv 3.0中定义的识别器class在哪里呢?
如果没有定义,我们如何在现有模块之外添加这个模块?
您必须下载并构建 opencv_contrib 存储库。
在 运行 cmake、make、make install 之后,
#include <opencv2/face.hpp>
// note the additional namespace:
cv::Ptr <cv::face::FaceRecognizer> model = cv::face::createLBPHFaceRecognizer();
// proceed as usual
来自 https://github.com/opencv/opencv_contrib:
- 启动cmake-gui
- Selectopencv源代码文件夹和二进制文件所在文件夹
将构建(界面的2个上层形式)
- 按配置按钮。你会看到所有的opencv构建
中央界面参数
- 浏览参数并查找名为
OPENCV_EXTRA_MODULES_PATH(使用搜索表单快速关注
它)
- 通过正确的路径名完成此 OPENCV_EXTRA_MODULES_PATH
使用其浏览按钮的 /modules 值。
- 按配置按钮,然后按生成按钮(
第一次,系统会询问您使用哪种 makefile 样式)
- 使用您选择的方法构建opencv核心(make和make
如果您在步骤 6 中选择了 Unix makfile,请安装)
对于 运行,需要添加贡献模块的链接器标志才能在您的 code/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();
我正在使用 OpenCV 3.0 测试版。
我尝试使用 createLBPHFaceRecognizer() 创建人脸识别器; class 作为,
**Ptr <FaceRecognizer> model = createLBPHFaceRecognizer();**
我的错误是
**error: 'createLBPHFaceRecognizer' was not declared in this scope**
我研究了一下,发现class存在于opencv2的contrib
模块中
(opencv2/contrib/contrib.hpp) 在以前版本的 OpenCV
但是这个模块在 opencv 3.0 beta 中不可用。 那么opencv 3.0中定义的识别器class在哪里呢?
如果没有定义,我们如何在现有模块之外添加这个模块?
您必须下载并构建 opencv_contrib 存储库。
在 运行 cmake、make、make install 之后,
#include <opencv2/face.hpp>
// note the additional namespace:
cv::Ptr <cv::face::FaceRecognizer> model = cv::face::createLBPHFaceRecognizer();
// proceed as usual
来自 https://github.com/opencv/opencv_contrib:
- 启动cmake-gui
- Selectopencv源代码文件夹和二进制文件所在文件夹 将构建(界面的2个上层形式)
- 按配置按钮。你会看到所有的opencv构建 中央界面参数
- 浏览参数并查找名为 OPENCV_EXTRA_MODULES_PATH(使用搜索表单快速关注 它)
- 通过正确的路径名完成此 OPENCV_EXTRA_MODULES_PATH 使用其浏览按钮的 /modules 值。
- 按配置按钮,然后按生成按钮( 第一次,系统会询问您使用哪种 makefile 样式)
- 使用您选择的方法构建opencv核心(make和make 如果您在步骤 6 中选择了 Unix makfile,请安装)
对于 运行,需要添加贡献模块的链接器标志才能在您的 code/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();