机器人SLAM导航:核心技术与实战
上QQ阅读APP看书,第一时间看更新

第3章
OpenCV图像处理

图像处理是利用计算机对图像进行计算分析的技术,包括数字图像处理和计算机视觉两大技术领域。数字图像处理是通过滤波、压缩、变换等算法对图像进行预处理;而计算机视觉的目标是利用人工智能算法从图像中获取信息,比如图像识别、图像跟踪、图像测量等。OpenCV是一个实现数字图像处理和计算机视觉通用算法的开源跨平台库,其采用C/C++编写,同时支持Python、MATLAB等接口调用。本书后续视觉SLAM相关章节中大量使用OpenCV库,因此本章先让大家对OpenCV有一个整体的把握,以便于大家后续能对涉及OpenCV的算法进行优化改进。

由于第1章中利用虚拟机运行Ubuntu系统,并安装了ROS,且本书安装的ROS melodic默认就装好了OpenCV3的库,版本号是3.2.0,所以后续的例程将使用这个版本展开。由于从OpenCV3开始,像SIFT、SURF这些高级的算法被移到了opencv_contrib中,因此需要重新安装一遍OpenCV,将opencv_contrib中的功能包含进来。安装也很简单,先去GitHub下载opencv-3.2.0和opencv_contrib-3.2.0的源码,然后放在一起编译安装即可,关于这方面的教程网上很多,就不具体展开了,安装源码下载地址如下。