博客
关于我
(一)Linux下C++ OpenCV开发环境搭建
阅读量:797 次
发布时间:2023-03-28

本文共 2019 字,大约阅读时间需要 6 分钟。

安装 OpenCV 的详细指南

安装 OpenCV 是一个相对简单但需要仔细完成的过程。以下是从下载源码到最终编译并使用 OpenCV 的完整步骤指南。


1. 下载 OpenCV 源码

首先,你需要从 OpenCV 的官方网站或代码镜像站点下载最新版本的源码。确保选择与你的操作系统和硬件兼容的版本。例如,如果你使用的是 Ubuntu,可以选择适合 Ubuntu 的 OpenCV 版本。


2. 编译 OpenCV

在下载源码后,你需要使用 CMake 编译 OpenCV。以下是详细的步骤:

  • 进入源码目录

    打开终端,进入你下载的 OpenCV 源码目录。

  • 运行 CMake

    在终端中输入以下命令:

    cmake -D OPENCV_GENERATE_PKGCONFIG=YES -D CMAKE_INSTALL_PREFIX=/home/user/opencv/install ..
    • -D OPENCV_GENERATE_PKGCONFIG=YES:启用生成 opencv4.pc 文件,这对于后续使用 pkg-config 工具查找库文件至关重要。
    • -D CMAKE_INSTALL_PREFIX:指定编译后 make install 的安装目录。
  • 编译和安装

    输入以下命令开始编译:

    make
    make install

    编译完成后,OpenCV 会被安装到指定的安装目录中。


  • 3. 使用 pkg-config 管理库文件

    安装完成后,你需要使用 pkg-config 工具来查找 OpenCV 的头文件和库文件路径。

  • 安装 pkg-config

    如果尚未安装,可以通过以下命令安装:

    sudo apt install pkg-config
  • 设置环境变量

    修改你的环境变量,确保 pkg-config 可以找到 OpenCV 的 pc 文件:

    export PKG_CONFIG_PATH="/home/user/opencv/install/lib/pkgconfig:$PKG_CONFIG_PATH"
  • 查看路径

    使用以下命令查看 OpenCV 的头文件和库文件目录:

    pkg-config --libs opencv4  # 查看库文件路径
    pkg-config --cflags opencv4 # 查看头文件路径
  • 查看 OpenCV 版本

    确认安装的 OpenCV 版本:

    pkg-config --modversion opencv4

  • 4. 使用 CMake 和 GCC 编译 OpenCV 程序

    如果你打算在自己的项目中使用 OpenCV,可以按照以下步骤配置 CMakeList.txt 文件。

  • 创建 CMakeList.txt

    在你的项目根目录中创建一个 CMakeList.txt 文件:

    cmake_minimum_required(VERSION 2.8)
    project(DisplayImage)
    find_package(OpenCV REQUIRED)
    include_directories(${OpenCV_INCLUDE_DIRS})
  • 设置 OpenCV 目录

    如果 find_package 无法找到 OpenCV,手动指定路径:

    set(OpenCV_DIR "/home/user/opencv/build")
    find_package(OpenCV 3 REQUIRED)
    include_directories(${OpenCV_INCLUDE_DIRS})

  • 5. 常见问题与解决方案

    0. /usr/lib/x86_64-linux-gnu/libvtkIOImage-6.2.so.6.2: undefined reference to_TIFFmalloc@LIBTIFF_4.0`**

    • 问题原因:OpenCV 依赖于 libtiff4,但在 Ubuntu 20.04 及更高版本中,libtiff4 已被移除,取而代之的是 libtiff5-dev
    • 解决方法
      • 使用 sudo apt-get install libtiff5-dev 安装 libtiff5-dev
      • 或在 CMake编译时启用 BUILD_TIFF
        cmake -D BUILD_TIFF=ON ...

    1. libopencv_highgui.so.4.4: cannot open shared object file

    • 问题原因:缺少 OpenCV 的库文件。
    • 解决方法
      • 设置 LD_LIBRARY_PATH:
        export LD_LIBRARY_PATH="/home/user/opencv/install/lib:$LD_LIBRARY_PATH"
        sudo ldconfig

    通过以上步骤,你应该能够顺利安装并使用 OpenCV。如有进一步问题,请参考 OpenCV 官方文档 或社区资源。

    转载地址:http://mahfk.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现单循环链表算法(附完整源码)
    查看>>
    Objective-C实现单词计数(附完整源码)
    查看>>
    Objective-C实现单链表反转(附完整源码)
    查看>>
    Objective-C实现博福特密码算法(附完整源码)
    查看>>
    Objective-C实现卡尔曼滤波(附完整源码)
    查看>>
    Objective-C实现卡尔曼滤波(附完整源码)
    查看>>
    Objective-C实现卡尔曼滤波(附完整源码)
    查看>>
    Objective-C实现压缩文件夹(附完整源码)
    查看>>
    Objective-C实现原型模式(附完整源码)
    查看>>
    Objective-C实现双向A*算法(附完整源码)
    查看>>
    Objective-C实现双向广度优先搜索算法(附完整源码)
    查看>>
    Objective-C实现双向循环链表(附完整源码)
    查看>>
    Objective-C实现双向链表(附完整源码)
    查看>>
    Objective-C实现双端队列算法(附完整源码)
    查看>>
    Objective-C实现双线性插值(附完整源码)
    查看>>
    Objective-C实现双重链表(附完整源码)
    查看>>
    Objective-C实现反向传播神经网络算法(附完整源码)
    查看>>
    Objective-C实现反转位算法(附完整源码)
    查看>>
    Objective-C实现反转字符串算法(附完整源码)
    查看>>
    Objective-C实现合并两棵二叉树算法(附完整源码)
    查看>>