码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • ubuntu22.04安装opencv4和opencv_contrib


    一、下载opencv和opencv_contrib

    1、下载opencv

    Releases - OpenCV选择OpenCV-4.5.0,下载Sources版本,并解压;

    2、下载opencv_contrib

    https://github.com/opencv/opencv_contrib选择右边Release-Tags,选择和opencv一样的版本;

    解压到opencv主文件夹中并重命名为opencv_contrib;

    二、安装依赖库

    1. sudo apt-get update
    2. sudo apt-get upgrade
    3. sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev
    4. sudo apt-get install libtiff-dev
    5. sudo apt-get install libgtk2.0-dev
    6. sudo apt-get install pkg-config

    三、开始编译

    1、opencv主目录下打开终端:

    1. mkdir build
    2. cd build
    3. cmake -DCMAKE_BUILD_TYPE=RELEASE \
    4. -DCMAKE_INSTALL_PREFIX=/usr/local \
    5. -DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib/modules .. \
    6. -DWITH_CUDA=1 \
    7. -DCUDA_ARCH_BIN=6.1 \
    8. -DENABLE_FAST_MATH=1 \
    9. -DCUDA_FAST_MATH=1 \
    10. -DWITH_CUBLAS=1 \
    11. -DOPENCV_GENERATE_PKGCONFIG=1 \
    12. ..

    注意:上面的DCUDA_ARCH_BIN指定GPU算力,在NVIDIA官网查询 CUDA GPUs - Compute Capability | NVIDIA Developer,常用的30系显卡是8.6,40系显卡是8.9

    2、编译安装

    查一下自己电脑最多支持多少线程:

    nproc

    我的电脑输出是4,所以就:

    1. make -j4
    2. sudo make install

    四、环境配置

    添加路径

    sudo vim /etc/ld.so.conf.d/opencv.conf

    然后在打开的文件中添加如下内容:

    /usr/local/lib
    

    保存退出,之后再终端输入: 

    sudo ldconfig
    

    使其保存并生效,再在终端输入:

    sudo vim /etc/bash.bashrc

    打开文件后在末尾输入:

    1. PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
    2. export PKG_CONFIG_PATH

    保存退出,终端输入:

    source /etc/bash.bashrc

    五、测试

    1. pkg-config opencv –modversion
    2. opencv_version

    不报错,且输出版本号,安装成功;

    进入opencv/samples/cpp/example_cmake目录下,终端打开,依次输入:

    1. cmake .
    2. make
    3. ./opencv_example

     正常来说,应该有摄像头窗口界面;如果没有摄像头,出现“Hello OpenCV“也测试成功

    六、出现的问题及解决措施

    1、fatal error: features2d/test/test_detectors_regression.impl.hpp: 没有那个文件或目录

    原因:缺少文件,在构建的时候没有下载;

    解决方式:

    (1)下载文件,解压到opencv_contrib/modules/xfeatures2d/src/下:

    压缩包地址:链接:百度网盘 请输入提取码   提取码:p50x

    (2)将opencv-4.5.0/modules中的features2d文件夹一整个复制到opencv_contrib/modules/xfeatures2d/test中

    2、error: ‘sleep_for’ is not a member of ‘std::this_thread’

    打开opencv-4.5.0/modules/gapi/test/gapi_async_test.cpp,添加:

    #include 

    3、切记一定要先安装opencv再安装Anaconda,否则即使安装成功也无法调用,会报很多错误;如果提前安装了anaconda, 建议先把anaconda环境变量注释掉,并把anaconda文件夹移进回收站等装完再移出来(改软连接也行,但上述更无脑些)

    参考:

    ubuntu22.04编译安装opencv和opencv_contrib_zznlzz的博客-CSDN博客

  • 相关阅读:
    iOS重签名-超详细,附排错
    项目经理和产品经理,谁更难?
    (八)MyBatis中参数的处理
    Qt——升级系列(Level Two):Hello Qt 程序实现、项目文件解析、
    基于JavaWeb+SSM+购物系统微信小程序的设计和实现
    2024年湖北建筑安全员abc三类人员考试新题库考试题库
    web APIs——第一天(上)
    最后的挣扎 - Qt For Android on HuaWei Mate 60Pro (v4.0.0)
    【图解RabbitMQ-5】RabbitMQ Web管控台图文介绍
    一文带你入门 Java 函数式编程
  • 原文地址:https://blog.csdn.net/MclarenSenna/article/details/133168309
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号