前言
记录一下本次在ubuntu18.04下opencv3.4.1的编译安装、升级(更换版本),重点在更换版本,网上许多教程综合考虑才解决问题,在此汇总一下,主要流程参考Gabriel’s Notes.
一、前置准备
- 一个ubuntu18.04系统
- 去官网下载opencv,找3.4.1,进入官网后(网络不好的话可能需要科学上网),应该是需要往后翻几页找一下的,找到后,下载opencv3.4.1的source版本,一般直接下载到**~/下载(或者~/Download)** 目录里。
- 解压下载下来的文件,建议将解压后的文件夹剪切到主目录下,方便接下来的操作。
- 更改源为清华源,其他国内源应该也可以,具体操作可参考这位大大写的。
- 换源后记得更新一下,在终端执行以下代码:
sudo apt update
sudo apt upgrade
二、正式开始
-
进入前置准备里下载并解压的文件夹,如果你跟我一样将解压后的文件夹剪切到主目录下了,就这样进入
cd ~/opencv3.4.1
-
在终端执行以下代码,安装依赖项
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
一般会报错,可以去网上搜一下解决方法,一个一个解决就好,很大可能是会出这个错误:
E: 无法定位软件包 libjasper-dev
解决方法是在终端执行这两句代码(即添加一个有这个软件包的源)
sudo add-apt-repository “deb http://security.ubuntu.com/ubuntu xenial-security main”
sudo apt update再次安装依赖项即可
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
-
在~/opencv3.4.1里建立build文件夹,开始编译,依次在终端执行以下代码即可,可能耗时比较长,请耐心等待:
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3.4.1 …
sudo make
sudo make install这里第3行的“/usr/local/opencv3.4.1”是opencv3.4.1的安装路径,可以根据你的需求更改,自己记住就好,如果你是更换版本这个路径很重要,啊当然,也不要忘记后面的两个点。
-
配置环境:
sudo gedit /etc/ld.so.conf.d/opencv.conf
在文末加上这一行:
/usr/local/lib
使配置生效:
sudo ldconfig
-
配置bash:
sudo gedit /etc/bash.bashrc
同样,在文末(这个文件可能是刚刚新建的空文件)加上这两行:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv3.4.1/lib/pkgconfig
export PKG_CONFIG_PATH同样,这里第一行/usr/local/opencv3.4.1就是之前的安装路径,按自己的来。
保存,执行这两行命令使得配置生效:source /etc/bash.bashrc
sudo updatedb这两句可能会让终端前几个字变白,等下说解决方法。
-
如果之前没有安装过,现在就应该已经安装好了,运行下面这个命令查看版本,如果能查看到自然是成功了:
pkg-config --modversion opencv
-
字变白的问题,最简单是关掉终端重开就好了,但如果你是更换版本,关掉终端重开会发现字确实变绿了,但用第6部的命令查看版本会发现版本又回去了。。这时候就得在刚刚那个白色情况下在终端中输入这两句命令即可,但笔者暂时还没有确定这种方法有无后遗症:
sudo cp /etc/skel/.bashrc ~/
source ~/.bashrc
三、补充说明
- arm架构建议看这里https://gitee.com/lovingascend/quick_start/blob/master/Atlas200DK_separate_MD/picture_sample.md
- opencv安装完成后,主要是在python与Cpp语言中使用