opencv - 在 Linux(Ubuntu)中编译时无法解析打开 cv 3.0.0 FaceRecognizer 类

标签 opencv face-recognition

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

最佳答案

默认情况下,contrib 模块不随 open cv 3.0.0 的安装一起提供

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

  • 首先,在打开的 cv 中转到您的构建目录。这可以命名为
    构建 发布当你安装了 open cv 3.0.0
    版本。
  • 在那里您可以运行以下命令来安装 contrib 模块

  • cmake -DOPENCV_EXTRA_MODULES_PATH=opencv_contrib/modules opencv_source_directory


  • 在上述命令中, opencv_contrib 是您从 github 链接 [ https://github.com/Itseez/opencv_contrib/tree/3.0.0-rc1][1] 下载的 opencv contrib 模块目录路径. opencv_source_directory 是 opencv 的源目录,通常是您提取或下载它的 open cv 根文件夹,如果您按照 open cv 教程安装和创建 的说明进行操作,则为 ../发布构建 文件夹
  • 我使用了来自 github 的 open cv 3.0.0 的 RC1 标签,您可以使用您选择的标签。
  • 现在运行以下两条命令

  • make -j $(nproc)

    sudo make install


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

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

  • 现在你不应该看到任何编译问题。

    关于opencv - 在 Linux(Ubuntu)中编译时无法解析打开 cv 3.0.0 FaceRecognizer 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31042903/

    相关文章:

    opencv - 为什么 SIFT 花费更多的时间和更少的倍频程层?

    c++ - OpenCV中的kmeans和cvKMeans2算法有什么区别?

    opencv - 当区域没有完全封闭时,如何找到轮廓?

    python - 如何将 Opencv 集成到 Tkinter 窗口中

    ios - iPhone5C 中未安装 Luxand SDK

    c++ - 检测后如何切割人脸

    opencv - 如何将TangoXyxIjData转换为z值矩阵

    javascript - 使用人脸作为聊天网站的密码

    python - python中数组的乘法