【问题标题】:How to build opencv_contrib into existing opencv folder?如何将 opencv_contrib 构建到现有的 opencv 文件夹中?
【发布时间】:2016-12-25 21:04:55
【问题描述】:

我知道这一切都被描述为here,但我不清楚我应该在哪里构建这个 opencv_contrib 源代码。

假设我从official download site 安装了 OpenCV 3.2,解压后看起来像这样:

现在,第二步:

选择opencv源代码文件夹和构建二进制文件的文件夹

源文件夹是哪一个?我应该将它放在我的 OpenCV 安装文件夹中还是需要从其他地方获取它?我应该在哪里建造它?就我而言,是/Documents/OpenCV/opencv/build吗?

【问题讨论】:

    标签: opencv


    【解决方案1】:

    我通常做的是直接从源代码构建 OpenCV,但它应该与预构建的存档或多或少相同。

    使用 CMake-gui 工具:

    • 源代码在哪里: 包含 OpenCV 源代码和 CMakeLists.txt 文件的目录(在你的例子中,屏幕截图中的 sources 文件夹)。
    • 在哪里构建二进制文件:您选择的目录(在您的情况下,build 目录或其他目录,如果您愿意)
    • 在 CMake 中,标志 OPENCV_EXTRA_MODULES_PATH 应指向 contrib 源的 modules 目录。

    【讨论】:

    • 谢谢,应该是这样描述的
    • 但是,虽然构建成功完成,但我找不到应该在 opencv_contrib 项目中的 FaceRecognizer 类。你知道吗?
    • 您可以在documentation中找到cv::face::FaceRecognizer
    • 很好解释的答案!
    【解决方案2】:

    我的构建:

    cd ~/opencv
    mkdir build
    cd build
    
    cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules  .. 
    make -j7
    make install
    

    ../../opencv_contrib/modules 是贡献模块目录的目录 ..是opencv源码根目录

    【讨论】:

      【解决方案3】:

      OpenCV 官方下载不附带额外模块。您需要下载 zip 文件或使用 git 从OpenCV repository 将其克隆到源目录,例如/Documents/OpenCV/opencv/opencv_contrib 在你的情况下。然后,在 CMake 中,将OPENCV_EXTRA_MODULES_PATH 指向/Documents/OpenCV/opencv/opencv_contrib/modules

      FaceRecognizer 位于 OpenCV Contribute 的 face 模块下。

      【讨论】:

        猜你喜欢
        • 2019-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-16
        • 2019-02-17
        • 2018-12-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多