Ubuntu20环境下OpenCV的C++环境配置

引言

在虚拟机中的Ubuntu中安装配置OpenCV,OpenCV的版本是4.5.5,安装过程简单明了,一步到位。

一、下载需要的安装包

1、Opencv4.5.5下载地址:Releases - OpenCV,点进去找到你要下载的Opencv版本,我们这里以4.5.5版本的为例,点击Sources即可完成下载,会得到一个压缩包。

2、下载OpenCV的扩展包opencv_contrib,下载地址:GitHub - opencv/opencv_contrib: Repository for OpenCV's extra modules,打开链接后如下图:

注意:需要下载与你Opencv相一致的版本,比如我这里需要下载4.5.5的opencv_contrib,在下图位置选择相应的版本,然后下载得到压缩包。

3、将Opencv4.5.5压缩包解压,再将opencv_contrib压缩包移到解压好的opencv4.5.5文件夹中(直接丢进去就行)。

二、下载依赖环境

1、我们首先更新软件列表以及更新软件,打开终端执行以下命令:

sudo apt-get update #更新软件列表
sudo apt-get upgrade #更新软件

2、添加依赖项目,依次执行:

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt install cmake-qt-gui

注意:博主在执行第三行的指令时候,遇到了Bug提示: “Unable to locate package libjasper-dev”,应该是下载源的问题。解决方法:

(1)执行命令:

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

(2) 再执行一遍添加依赖项目中的第三行指令,即可成功安装。

三、安装

1、在opencv4.5.5文件夹中新建文件,命名为build;打开build文件夹,在终端中执行以下命令(最好在build文件下打开终端执行,并且如果多次执行下面cmake指令可能出现问题,解决方法就是直接将解压得到opencv文件夹删除,重新解压和安装):

sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

 注意:执行这一步,有些人的电脑会卡在“IPPICV:Download:ippicv_2020_Inx_intel64.....”上,这是因为下载的地址需要科学上网。解决方法(可以先中断指令,毕竟一直卡住不动):

(1)手动下载需要的文件,即ippicv_2020_lnx_intel64_20191018_general.tgz。下载地链接: https://pan.baidu.com/s/1Ol5C0C70lOo58riSuQqqXg 提取码: az8w

(2)下载得到的文件存放位置任意,但是你需要知道路经,因为我们接下来需要修改配置文件:

打开Opencv文件夹下的3rdparty文件夹,找到ippicv文件夹,再打开其中的ippicv.cmake文件,如下图:

打开ippicv.cmake文件后,找到下图我重新修改的位置,改为你存放刚才下载tgz文件的路经,下图是博主电脑的位置,照着下面的改就行了,zw是博主名字缩写,Prg和important_doc都是博主自己建的文件夹,并且注意file后面是一个/,不然会报错。(原本这个位置是"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/",删除并且替换你的路经即可)

(3)在做好步骤1和步骤2之后, 重新执行指令,即可完成build。

2、完成build之后,执行下面的指令进行编译:

sudo make -j8

 要是你的电脑拉吉就把8改成4,另外这一步卡死了也没事,不会重头开始编译的,会在你上一次编译进度基础上继续。

3、编译完成之后,执行下面指令开始安装:

sudo make install

四、安装完成之后,添加路经

1、执行以下命令,打开文件进行编辑。

sudo gedit /etc/ld.so.conf

2、在打开的文件中加入以下代码:

/usr/local/lib

3、保存关闭,并且在终端执行下面代码:

sudo ldconfig

五、配置环境

1、同上一步一样,打开文件:

sudo gedit /etc/bash.bashrc 

2、在打开的文件最后添加以下指令:

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

3、保存关闭文件,最后在终端输入以下指令:

source /etc/bash.bashrc

按道理说,我们执行下面的指令就可以查看我们安装opencv的版本了。

pkg-config opencv --modversion

注意:但是,博主在执行这一步骤并没有出现版本信息,反而出现什么No package ‘opencv ’found。大概的原因是缺少了某个配置文件(opencv.pc),解决方法:

(1)在终端输入下面指令,创建opencv.pc文件:

cd /usr/local/lib
sudo mkdir pkgconfig
cd pkgconfig
sudo touch opencv.pc

(2)打开创建好的opencv.pc文件(推荐使用gedit方式打开),添加下面的信息:

prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib

Name: opencv
Description: The opencv library
Version:4.5.5
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
~                                               

(3)保存关闭,再执行下面指令即可结束。

export  PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

再次执行pkg-config opencv --modversion,即可看到opencv的版本信息。

六、最终测试

为了验证我们正确安装好的OpenCV,我们在opencv-4.5.5/samples/cpp/example_cmake文件夹下打开终端,依次输入以下指令:

cmake .
make
./opencv_example

如果没有摄像头,最后会出现黑屏幕+Hello Opencv几个大字。到此,安装完成,后面会更新在VSCode中的配置。

猜你喜欢

转载自blog.csdn.net/qq_39149619/article/details/131679872