Open cv 3.0.0 FaceRecognizer class 在Linux (Ubuntu)中编译时无法解决
Open cv 3.0.0 FaceRecognizer class cannot be resolved while compiling in Linux (Ubuntu)
在 Open Cv 3.0.0 中,FaceRecognizer class 在 Linux (Ubuntu) 中编译时无法解析。这曾经在 2.4.11 版本中工作并且 class 出现在 contrib 模块中。 Open cv 3.0.0 版本中似乎缺少 contrib 模块。
open cv 3.0.0 的安装默认不自带 contrib 模块
contrib 模块必须单独安装。请按照以下说明解决 FaceRecognizer class.
的编译问题
- 首先,在打开的 cv 中转到您的构建目录。这可以命名为
build 或 release 当你安装了 open cv 3.0.0
版本。
- 你可以运行下面的命令来安装contrib模块
cmake -DOPENCV_EXTRA_MODULES_PATH=opencv_contrib/modules opencv_source_directory
上面命令中,opencv_contrib就是你从github[=]下载的opencv contrib模块目录路径68=][https://github.com/Itseez/opencv_contrib/tree/3.0.0-rc1][1]。 opencv_source_directory 是 opencv 的源目录,这通常是您解压或下载它的 open cv 根文件夹,这将是 ../ 如果您遵循 open用于安装和创建 release 或 build 文件夹
的 cv 教程说明
我使用了来自github的open cv 3.0.0的RC1标签,你可以使用你选择的标签。
- 现在运行以下两个命令
make -j $(nproc)
sudo make install
- 在此之后,在您引用 FaceRecognizer class 的代码(.cpp 或 .hpp 文件)中,将以下命名空间放在 #includes
附近
使用命名空间简历;
使用命名空间面;
- 或者,您也可以引用带有命名空间前缀的 class,例如,如果您将 FaceRecognizer 引用为 cv::FaceRecognizer,现在将其引用为 cv::face::FaceRecognizer。这只是一种编码风格。使用第 6 点或第 7 点样式,不能同时使用。
现在你应该看不到任何编译问题了。
在 Open Cv 3.0.0 中,FaceRecognizer class 在 Linux (Ubuntu) 中编译时无法解析。这曾经在 2.4.11 版本中工作并且 class 出现在 contrib 模块中。 Open cv 3.0.0 版本中似乎缺少 contrib 模块。
open cv 3.0.0 的安装默认不自带 contrib 模块
contrib 模块必须单独安装。请按照以下说明解决 FaceRecognizer class.
的编译问题- 首先,在打开的 cv 中转到您的构建目录。这可以命名为 build 或 release 当你安装了 open cv 3.0.0 版本。
- 你可以运行下面的命令来安装contrib模块
cmake -DOPENCV_EXTRA_MODULES_PATH=opencv_contrib/modules opencv_source_directory
上面命令中,opencv_contrib就是你从github[=]下载的opencv contrib模块目录路径68=][https://github.com/Itseez/opencv_contrib/tree/3.0.0-rc1][1]。 opencv_source_directory 是 opencv 的源目录,这通常是您解压或下载它的 open cv 根文件夹,这将是 ../ 如果您遵循 open用于安装和创建 release 或 build 文件夹
的 cv 教程说明
我使用了来自github的open cv 3.0.0的RC1标签,你可以使用你选择的标签。
- 现在运行以下两个命令
make -j $(nproc)
sudo make install
- 在此之后,在您引用 FaceRecognizer class 的代码(.cpp 或 .hpp 文件)中,将以下命名空间放在 #includes 附近
使用命名空间简历; 使用命名空间面;
- 或者,您也可以引用带有命名空间前缀的 class,例如,如果您将 FaceRecognizer 引用为 cv::FaceRecognizer,现在将其引用为 cv::face::FaceRecognizer。这只是一种编码风格。使用第 6 点或第 7 点样式,不能同时使用。
现在你应该看不到任何编译问题了。