• Ubuntu 20.04下OpenCV的安装


    程序之美

    前言

    OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。我们生活中遇到的很多图形图像处理的应用和软件都或多或少的会借鉴或应用此库,
    故此,亲自研究,实践,Linux下的OpenCV,将调试过程中所遭所遇进行详细讲解,注意事项进行一一列举,希望能够帮助到各位初学OpenCV的小伙伴,避免走弯路,费时费力。

    主体

    本篇我们先学习下OpenCV在Ubuntu 20.04下的编译与安装。

    下载

    进入opencv官网下载
    选择sources下载相应版本的压缩包。
    我这里是github下载的,下载地址为:https://github.com/opencv/opencv
    解压文件,放到home/(用户名)/目录下,我这里下载的是OpenCV-4.6.0。
    在这里插入图片描述

    安装命令

    unzip OpenCV-4.6.0.zip
    cd opencv
    
    mkdir build 
    cd build
    cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
    make -j4
    make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    如果按照make -j${proc}进行编译,常出现卡死状态,后来改为make -j4就能顺利通过了。

    环境配置

    编辑/etc/ld.so.conf

    sudo gedit /etc/ld.so.conf
    
    • 1

    在文件中加上一行

    include /usr/local/lib
    
    • 1

    保存文件退出,编辑 /etc/bash.bashrc 文件

    sudo gedit /etc/bash.bashrc 
    
    • 1

    在文件末尾加上几行

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

    保存文件退出。

    查看是否opencv成功:

    pkg-config --modversion opencv # 出现版本号即成功
    
    • 1

    将opencv加入环境变量:

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/
    
    • 1

    所遇问题

    在这里插入图片描述

    Package opencv was not found in the pkg-config search path.
    Perhaps you should add the directory containing `opencv.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'opencv' found
    
    • 1
    • 2
    • 3
    • 4

    该如何解决呢?

    方法一,尝试未解决:

    sudo apt install libopencv-dev htm
    
    • 1

    方法二,解决问题。
    方法如下:

    cd /usr/local/lib
    
    sudo mkdir pkgconfig
    cd pkgconfig
    sudo touch opencv.pc
    sudo vim opencv.pc
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    首先建一个新的文件夹:pkgconfig
    然后cd到这个文件夹下,新建opencv.pc文件;
    再打开opencv.pc文件,文件内输入:

    prefix=/usr/local
    exec_prefix=${prefix}
    includedir=${prefix}/include
    libdir=${exec_prefix}/lib
    
    Name: opencv
    Description: The opencv library
    Version:4.1.2
    Cflags: -I${includedir}/opencv4
    Libs: -L${libdir} -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann  -lopencv_core
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    其中version是你的opencv版本
    最后:wq保存退出。

  • 相关阅读:
    C#对象二进制序列化优化:位域技术实现极限压缩
    催化能力提高 3.5 倍!中科院团队基于扩散模型,开发 P450 酶从头设计方法 P450Diffusion...
    k8s系列文章三:单节点集群服务
    C 格式转换说明符
    EasyExcel 读取数据为null
    物流实时数仓:采集通道搭建
    门店如何设置多个联系电话和营业时间
    专访 | 许伟 ——贡献榜 Top4 也只是“开源小白”
    kuangbin专题一 简单搜索
    Ansible 学习总结(11)—— task 并行执行之 forks 与 serial 参数详解
  • 原文地址:https://blog.csdn.net/hnjzfwy/article/details/125529893