OpenCV 基本使用
参考教程:
GitHub - gaoxiang12/slambook2: edition 2 of the slambook
1. 安装 OpenCV
1.1 下载 OpenCV
参考教程:
无法定位软件包libjasper-dev的解决办法-优快云博客
视觉slam14讲ch5 opencv安装 ubuntu20.04_libvtk5-dev-优快云博客
OpenCV
提供了大量的开源图像算法,是计算机视觉领域使用极广的图像处理算法库。在Ubuntu
系统下,OpenCV
有从源代码安装和只安装库文件两种方式可以选择:
(1)从源代码安装,是指从OpenCV
网站下载所有的OpenCV
源代码,并在机器上编译以便使用。好处是可以选择的版本比较丰富,而且也能看到源代码,不过需要花费一些编译时间。
(2)只安装库文件,是指通过Ubuntu
安装由Ubuntu
社区人员已经编译好的库文件,无须重新编译一遍。
因为我们使用较新版本的OpenCV
,所以必须选择从源代码安装的方式来安装它。一来,可以调整一些编译选项,匹配编程环境(例如,需不需要GPU加速等);再者,可以使用一些额外的功能。OpenCV
目前维护三个主要版本,分为OpenCV2.4
系列、OpenCV 3
系列和OpenCV 4
系列。当前使用OpenCV 3
系列。
从如下网站中下载源代码:
页面下滑,选择OpenCV – 3.4.16
版本,点击”Sources
“进行下载
下载得到如下的压缩包
将opencv-3.4.16.zip
文件拖拽至虚拟机的home
文件夹下:
点击opencv-3.4.16.zip
文件,右键,选择“提取到此处
”
1.2 配置依赖项并编译
编译之前,先来安装OpenCV
的依赖项:
rosnoetic@rosnoetic-VirtualBox:~$ sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu xenial-security main"
rosnoetic@rosnoetic-VirtualBox:~$ sudo apt update
rosnoetic@rosnoetic-VirtualBox:~$ sudo apt upgrade
rosnoetic@rosnoetic-VirtualBox:~$ sudo apt-get install build-essential libgtk2.0-dev libvtk6-dev libjpeg-dev libtiff5-dev libjasper-dev libopenexr-dev libtbb-dev libcanberra-gtk-module
事实上,OpenCV
的依赖项很多,缺少某些编译项会影响它的部分功能。OpenCV
在cmake
阶段检查依赖项是否会安装,并调整自己的功能。如果电脑上有GPU
并且安装了相关依赖项,OpenCV
也会把GPU
加速打开。不过当前,上述依赖项已经足够了。
安装完依赖项后进行编译:
rosnoetic@rosnoetic-VirtualBox:~$ cd opencv-3.4.16/
rosnoetic@rosnoetic-VirtualBox:~/opencv-3.4.16$ mkdir build
rosnoetic@rosnoetic-VirtualBox:~/opencv-3.4.16$ cd build/
rosnoetic@rosnoetic-VirtualBox:~/opencv-3.4