2021-08-11

Posted SummerLoverQy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-08-11相关的知识,希望对你有一定的参考价值。

Ubuntu 安装opencv

由于在安装opencv过程中遇到很多问题,特写下本次文章以便后续有相同的需求时可以及时解决同时也希望我的文章可以帮助有同样问题的求学者。
在我安装opencv的过程中,我分别在ubantu16以及ubuntu20两个版本都进行了测试,发现这个步骤在两个测试中都可以进行,而我安装测试的是opencv3.4.1的版本,我浏览的文章提出这个步骤以及依赖包的安装同时适合于3.4.0/3.4.2的版本,具体的我没有测试,其他版本的依赖包是否一致我没有实际测试。

依赖包以及cmake安装

安装cmake编译工具
sudo apt-get install cmake

安装依赖包

sudo apt-get install build-essential 
sudo apt-get install libgtk2.0-dev 
sudo apt-get install libavcodec-dev 
sudo apt-get install libavformat-dev 
sudo apt-get install libjpeg.dev 
sudo apt-get install libtiff4.dev 
sudo apt-get install libswscale-dev 
sudo apt-get install libjasper-dev  

其中最后一个** libjasper-dev **可能无法定位软件包,需要添加库,操作如下

sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev

opencv源码下载、编译以及配置

opencv源码官网下载:opencv官网,选择版本,选择sources版本 (本文用的是3.4.15/3.4.10都测试成功)

  1. 解压源码
  2. 进入源码工作路径
    如下图为我的路径空间
    此时可以看到文件列表如下(ls指令):
  3. 创建一个build文件夹并进入build文件夹
 mkdir build && cd build
  1. cmake 编译
    cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

  2. make生成
    该过程时间较长,耐心等待

sudo make


6. 执行install make

sudo make install
  1. 配置opencv便于系统找到opencv的库文件
sudo gedit /etc/ld.so.conf.d/opencv.conf 

在文件的末尾添加/usr/local/lib(即使空白也直接添加)

8.执行如下命令使得刚才的配置路径生效

 sudo ldconfig  
  1. 配置bash
sudo gedit /etc/bash.bashrc  

在最后添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig  
export PKG_CONFIG_PATH  

保存并刷新

source /etc/bash.bashrc  

最后更新

sudo updatedb  

至此所有安装配置问题已经解决

测试

下面用一个小程序测试一下
cd到opencv-3.4.1/samples/cpp/example_cmake目录下
我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下
按顺序执行

cmake .
make
./opencv_example

即可看到打开了摄像头,在左上角有一个hello opencv

即表示opencv安装成功

其他问题

如果安装过程中出现如下问题

E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用) 
E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占用它?

另外,我在安装过程中主要参考博主:无信号帖子
如果我的经验没有足够帮助到你们,也可以多多去浏览其他文章,相互学习。

以上是关于2021-08-11的主要内容,如果未能解决你的问题,请参考以下文章

2021-08-11记一次在线工具

2021-08-11-TCGA-symbol-ENSGid-转换

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?