最近需要在Linux下使用opencv,于是参考了网上的博客进行opencv的配置,在这里进行一下总结。文章的主要内容来自于https://blog.csdn.net/richermen/article/details/50506179#和https://blog.csdn.net/weixin_41053564/article/details/81254410。
配置步骤如下:
1、下载Linux版本的opencv,这里有我的另一篇转载的博客,里面有许多版本的opencv。博文地址:https://blog.csdn.net/ett_qin/article/details/85157242
2、安装依赖包:
sudo apt-get install build-essential
sudo apt-get install cmake
sudo apt-get install libgtk2.0-dev
sudo apt-get install pkg-config
sudo apt-get install python-dev python-numpy
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev
将上面的依赖包依次安装即可。
但是我在最后一步的时候,系统提示我"unable to locate package libjasper-dev"。然后查找资料,在一篇博客中找到了解决方法,博文内容:
(说明:这部分内容来自https://blog.csdn.net/weixin_41053564/article/details/81254410)
近期需要在ubuntu18.04系统上安装opencv但是在安装依赖包的过程中,有一个依赖包,libjasper-dev在使用命令
sudo apt-get install libjaster-dev
提示:errorE: unable to locate libjasper-dev
后来google到解决办法,复制到这里
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt update
sudo apt install libjasper1 libjasper-dev
成功的解决了问题,其中libjasper1是libjasper-dev的依赖包
3、编译安装opencv
将下载好的opencv文件解压之后放在/usr/local目录下(位置随意,不影响后续配置)。
然后进入opencv文件目录:
cd /usr/local/opencv-3.2.0/
然后依次执行如下指令来编译opencv库
sudo cmake .
sudo make
sudo make install
其中sudo make指令执行的时间较长,大约有10分钟左右(看电脑配置)
4、将opencv的库链接到系统库中
打开opencv.conf文件:(这个文件可能不存在,但是它会被创建。)
sudo vim /etc/ld.so.conf.d/opencv.conf
在最后一行添加一行代码。表示编译之后生成的opencv库的位置所在
/usr/local/lib
运行以下代码配置库:
sudo ldconfig
5、修改环境变量
打开bash.bashrc:
sudo gedit /etc/bash.bashrc
在这个文件的末尾添加下面两行代码来添加环境变量:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
然后重启配置文件
source /etc/bash.bashrc
6、测试
测试代码:
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv )
{
Mat image;
image = imread("testopencv.jpg", 1 );
if ( !image.data )
{
printf("No image data \n");
return -1;
}
namedWindow("Display Image", WINDOW_AUTOSIZE );
imshow("Display Image", image);
waitKey(0);
return 0;
}
编译:
g++ `pkg-config --cflags opencv` -o TestOpencv TestOpencv.cpp `pkg-config --libs opencv`
运行:
./TestOpencv
然后就会显示testopencv.jpg这张图片。