【问题标题】:Open cv 3.0.0 FaceRecognizer class cannot be resolved while compiling in Linux (Ubuntu)在Linux(Ubuntu)中编译时无法解析Open cv 3.0.0 FaceRecognizer类
【发布时间】:2017-02-26 12:58:37
【问题描述】:

在 Open Cv 3.0.0 中,FaceRecognizer 类在 Linux (Ubuntu) 中编译时无法解析。这曾经在 2.4.11 版本中工作,并且该类存在于 contrib 模块中。看起来 Open cv 3.0.0 版本中缺少 contrib 模块。

【问题讨论】:

    标签: opencv face-recognition


    【解决方案1】:

    安装 open cv 3.0.0 默认不提供 contrib 模块

    contrib 模块必须单独安装。请按照以下说明解决 FaceRecognizer 类的编译问题。

    1. 首先,在打开的 cv 中转到您的构建目录。这可以命名为 buildrelease 当您安装了 open cv 3.0.0 版本。
    2. 您可以在此处运行以下命令来安装 contrib 模块

    cmake -DOPENCV_EXTRA_MODULES_PATH=opencv_contrib/modules opencv_source_directory

    1. 上述命令中,opencv_contrib是你从github链接[https://github.com/Itseez/opencv_contrib/tree/3.0.0-rc1][1]. opencv_source_directory 是 opencv 的源目录,通常是您提取或下载它的 open cv 根文件夹,如果您按照 open cv 教程安装和创建说明进行操作,则为 ../ releasebuild 文件夹

    2. 我使用了来自 github 的 open cv 3.0.0 的 RC1 标签,您可以使用您选择的标签。

    3. 现在运行以下两个命令

    make -j $(nproc)

    sudo 安装

    1. 此后,在您引用 FaceRecognizer 类的代码(.cpp 或 .hpp 文件)中,将以下命名空间放在 #includes 附近

    使用命名空间 cv; 使用命名空间面;

    1. 另外,您也可以使用命名空间前缀来引用类,例如,如果您将 FaceRecognizer 称为 cv::FaceRecognizer,现在将其称为 cv::face::FaceRecognizer。这只是一种编码风格。使用第 6 点或第 7 点样式,不要同时使用。

    现在您应该不会看到任何编译问题。

    【讨论】:

      猜你喜欢
      • 2019-01-17
      • 1970-01-01
      • 1970-01-01
      • 2016-04-13
      • 2019-10-22
      • 1970-01-01
      • 1970-01-01
      • 2012-09-12
      • 1970-01-01
      相关资源
      最近更新 更多