码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Ubuntu配置OpenCV及多版本OpenCV共存


    用到过两次了,每次都要重新找资料,在这里记录一下,下次用到就不用再找教程了。

    前言

    在开发不同工程时可能会需要不同版本的OpenCV,因此在电脑上安装多个版本的OpenCV很有必要。

    多版本OpenCV共存

    假设我们已经安装好一版OpenCV,一般都安装在/usr/local下。
    如果需要安装另一个版本的OpenCV,就不能再安装到/usr/local,而是选择其他路径,否则会覆盖掉之前的版本。

    下载opencv

    首先去Releases - OpenCV下载所需版本的Sources版

    我安装的第二个OpenCV版本为3.2.0。

    安装依赖包

    1. [compiler] sudo apt-get install build-essential
    2. [required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
    3. [optional] sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

    使用cmake构建库

    1. cd opencv-3.2.0
    2. mkdir build
    3. cd build
    4. cmake \
    5. -DCMAKE_BUILD_TYPE=RELEASE \
    6. -DCMAKE_INSTALL_PREFIX=~/opencv-3.4.1/build/installed \
    7. \
    8. -DWITH_CUDA=OFF \
    9. \
    10. -DBUILD_DOCS=OFF \
    11. -DBUILD_EXAMPLES=OFF \
    12. -DBUILD_TESTS=OFF \
    13. -DBUILD_PERF_TESTS=OFF \
    14. ..
    15. make -j
    16. sudo make install

    1. 其中~/opencv-3.4.1/build/installed为安装OpenCV3.4.1的路径,这个十分关键。
    2. 设置OFF的理由如下,可大大加快编译速度,当然还要根据需求进行设置。

    添加到系统环境变量

    修改~/.bashrc:

    1. #OpenCV_4.2.0
    2. export PKG_CONFIG_PATH=~/opencv-3.2.0/build/installed/lib/pkgconfig
    3. export LD_LIBRARY_PATH=~/opencv-3.2.0/build/installed/lib

    更新~/.bashrc

    source ~/.bashrc 

    查询OpenCV版本

    pkg-config --modversion opencv

    如果输出3.2.0,就表明配置成功。
    如果想使用之前的版本,在~/.bashrc中注释掉增加的内容,然后source ~/.bashrc即可。

    应用:

    如果只有一个版本的OpenCV,在CMakeList.txt中使用以下语句即可。

    FIND_PACKAGE(OpenCV REQUIRED)

    在OpenCV编译好后,所在目录中会生成OpenCVConfig.cmake文件,这个文件中指定了CMake要去哪里找OpenCV,其.h文件在哪里等。
    存在多版本OpenCV时,需要找到所需版本对应的OpenCVConfig.cmake文件,并将其路径添加到工程的CMakeLists.txt中。

    1. cmake_minimum_required(VERSION 2.8)
    2. project(test)
    3. set(OpenCV_DIR "~/opencv-3.4.1/build")
    4. find_package(OpenCV REQUIRED)

    参考资料:

    (1条消息) Ubuntu下多版本OpenCV共存和切换_W_Tortoise的博客-CSDN博客_ubuntu 多版本opencv

     Ubuntu配置OpenCV及多版本OpenCV共存 | 所念皆星河

  • 相关阅读:
    【PyTorch][chapter 20][李宏毅深度学习]【无监督学习][ GAN]【实战】
    C语言——问题总结
    仿上海学校网站学生网页设计作品 dreamweaver作业静态HTML网页设计模板 旅游景点网页作业制作
    HuggingFace-利用BERT预训练模型实现中文情感分类(下游任务)
    sql 分页查询 order by和group by一起使用导致排序失效问题解决
    HttpRunner 接口自动化测试框架实战,打造高效测试流程
    模型机微程序控制器
    Adobe Premiere基础-常用的视频特效(边角定位,马赛克,模糊,锐化,手写工具,效果控件层级顺序)(十六)
    使用PdfSharp从模板生成Pdf文件
    基于GAMS的电力系统优化分析
  • 原文地址:https://blog.csdn.net/qq_44808827/article/details/126358757
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号