gpt4 book ai didi

c++ - 如何使用 text.hpp(可选模块)重新编译 OpenCV?

转载 作者:行者123 更新时间:2023-12-02 11:08:58 25 4
gpt4 key购买 nike

所以我正在尝试构建 the demo program for text detection ,并且 CMake 提示“text.hpp”不存在。我查了一下,发现它只存在于 the optional modules . 如何使用这些模块重新编译 OpenCV 而不会破坏所有内容?

编辑:我使用的是 Ubuntu,我从命令行使用 CMake 编译程序。

编辑 2:我尝试运行 sudo make uninstall ,克隆两个存储库(主要和模块),然后 following the instructions to build with those modules ,但 CMake 仍然报告 text.hpp 不存在。

最佳答案

以下说明描述了如何从头开始构建 OpenCV 3.4.0 以及额外的模块。我们假设使用 Visual Studio 2017 15.5 和 CMake 3.10.0-rc1。以下命令在 Windows 中的 Git bash 上执行。 <project_dir>表示驻留克隆存储库的目录。

  • 克隆存储库
    $ cd <project_dir>  
    $ git clone git@github.com:opencv/opencv.git
    $ cd opencv
    $ git checkout tags/3.4.0

    $ cd <project_dir>
    $ git clone git@github.com:opencv/opencv_contrib.git
    $ cd opencv_contrib
    $ git checkout tags/3.4.0
  • 使用额外的模块配置 OpenCV
    $ cd <project_dir>/opencv
    $ mkdir build && cd build
    $ cmake \
    -D OPENCV_EXTRA_MODULES_PATH="<project_dir>/opencv_contrib/modules" \
    -G "Visual Studio 15 2017 Win64" ..
  • 构建并安装库。构建的库和头文件将安装在 <project_dir>/opencv/build/install .
    $ cmake --build . --config Release --target INSTALL
  • 您提到的示例似乎不是默认构建的。让我们构建它。首先创建新的项目目录并复制必要的文件。
    $ cd <project_dir>
    $ mkdir opencv_text_samples && cd opencv_text_samples
    $ cp <project_dir>/opencv_contrib/modules/text/samples/* .
  • 创建一个 CMakeLists.txt 作为
    $ cat CMakeLists.txt
    cmake_minimum_required(VERSION 3.10)
    project(opencv_text_samples)
    find_package(OpenCV REQUIRED)
    add_executable(textdetection textdetection.cpp)
    target_link_libraries(textdetection ${OpenCV_LIBS})
  • 构建项目。 OpenCV 的安装目录必须在 OpenCV_DIR 中指定。 .
    $ mkdir build && cd build
    $ cmake \
    -D OpenCV_DIR="<project_dir>/opencv/build/install" \
    -G "Visual Studio 15 2017 Win64" ..
  • 复制必要的 dll 和依赖项。完毕!
    $ cp <project_dir>/opencv/build/install/x64/vc15/bin/* .
    $ cp <project_dir>/opencv_contrib/*.xml .
    $ ./textdetection ../../scenetext_word01.jpg
  • 关于c++ - 如何使用 text.hpp(可选模块)重新编译 OpenCV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48130568/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com