前言:
这个博客之前写的是在Ubuntu16.04下配置的OpenCV-3.4.6开发环境,最近更换成Ubuntu20.04下配置OpenCV-4.5.3版本,其实方法都是一样的,只要下载对应的安装包即可,没有多大差异的。
一、资源准备
使用的是ubuntu20.04、opencv-4.5.3和对应的opencv_contrib-4.5.3。可以到下面的链接去下载:
OpenCV 官网下载:Releases - OpenCV
OpenCV-Contrib贡献库下载:Releases · opencv/opencv_contrib · GitHub
1.1. 安装OpenCV依赖的相关库,在终端输入命令安装:
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
如果遇到问题
E: Unable to locate package libjasper-dev
则执行以下命令:
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt-get update
sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
sudo apt-get update
然后再次运行安装依赖库的命令即可。
二、安装
2.1、资源解压
1)我是准备在"/home/cpp/install/opencv"路径下安装,所以先cd到该目录下,使用命令"mv ../../下载/opencv* ./"将资源包移至该目录下,然后使用"unzip opencv-4.5.3.zip"解压。
- cd home/cpp/install/opencv
- mv ../../下载/opencv* ./
- unzip opencv-4.5.3.zip
2) 将"opencv_contrib-4.5.3.zip"移动至opencv-4.5.3目录下,然后cd到opencv-4.5.3目录下,解压文件
mv opencv_contrib-4.5.3.zip opencv-4.5.3
cd opencv-4.5.3
unzip opencv_contrib-4.5.3.zip
2.2、使用cmake创建opencv
在opencv-4.5.3目录下,创建release目录,并在release目录下执行cmake命令:
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/home/cpp/install/opencv/opencv-4.5.3
下面表示cmake设置成功:
成功之后然后依次执行sudo make、sudo make install
- sudo make
- sudo make install
如果要添加Opencv_Contrib库,则在release目录下执行以下命令:
- cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=/home/cpp/install/opencv/opencv-4.5.3/opencv_contrib-4.5.3/modules ..
- sudo make
- sudo make install
三、配置 环境变量
3.1 在/etc/ld.so.conf.d/opencv.conf文件中加入一行: /usr/local/lib;如果没有opencv.conf,则使用sudo gedit/etc/ld.so.conf.d/opencv.conf创建一个再添加。 然后执行sudo ldconfig
- sudo gedit /etc/ld.so.conf.d/opencv.conf
3.2 在opencv.conf中添加"/usr/local/lib"
3.3 执行sudo ldconfig
- sudo ldconfig
3.4 在/etc/bash.bashrc中加入以下内容:
- PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
- export PKG_CONFIG_PATH
如果没有权限,则使用sudo gedit/etc/bash.bashrc进入修改。
四、测试验证
4.1 命令查看opencv版本号
输入“pkg-config --modversion opencv”, 如果能正确显示opencv的版本号说明opencv安装完成。
4.2 demo验证
写个demo 验证一下opencv是否能正常使用,注意编译程序的时候需要加上opencv的库。使用如下命令编译: g++ 01demo.cpp `pkg-config opencv --libs --cflags opencv` 。也可以指定输出名,使用 -o 可执行文件名编译:g++ 01demo.cpp -o test `pkg-config opencv --libs --cflags opencv`。
- g++ 01demo.cpp `pkg-config opencv --libs --cflags opencv`
- g++ 01demo.cpp -o test `pkg-config opencv --libs --cflags opencv`
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main()
{
char win_name[] = "opencv demo";
Mat mat;
mat = imread("/home/cpp/dlData/01.jpg",-1);
if(mat.empty())
{
cout << "加载图片失败" << endl;
return -1;
}
namedWindow(win_name,CV_WINDOW_AUTOSIZE)
imshow(win_name,mat);
waitKey(0);
return 0;
}
如果能正常显示图片,说明Ubuntu20.04下OpenCV开发环境配置完成。如果有什么问题,可以添加群210250364一起探讨学习。