一起自学SLAM算法:第3章-OpenCV图像处理

本文是SLAM学习系列的第3章,深入介绍OpenCV库在图像处理中的应用,包括图像数据理解、滤波、变换和特征点提取,重点讨论SIFT、SURF和ORB特征点。学习这些内容为后续的视觉SLAM系统构建奠定基础。
摘要由CSDN通过智能技术生成

 连载文章,长期更新,欢迎关注:


写在前面

第1章-ROS入门必备知识

第2章-C++编程范式

第3章-OpenCV图像处理

        3.1 认识图像数据

        3.2 图像滤波

        3.3 图像变换

        3.4 图像特征点提取

第4章-机器人传感器

第5章-机器人主机

第6章-机器人底盘

第7章-SLAM中的数学基础

第8章-激光SLAM系统

第9章-视觉SLAM系统

第10章-其他SLAM系统

第11章-自主导航中的数学基础

第12章-典型自主导航系统

第13章-机器人SLAM导航综合实战


图像处理是利用计算机对图像进行计算分析的技术,包括数字图像处理和计算机视觉两大技术领域。数字图像处理通过滤波、压缩、变换等算法对图像进行预处理;计算机视觉的目标是利用人工智能算法从图像中获取信息,比如图像识别、图像跟踪、图像测量等。OpenCV是一个实现数字图像处理和计算机视觉通用算法的开源跨平台库,其采用经实时性优化的C/C++代码编写,同时还支持Python、Matlab等接口调用。本书后续视觉SLAM相关章节中大量使用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的源码,然后放在一起编译安装就行了,关于这方面的教程网上很多,就不具体展开了,安装源码下载地址如下:


3.1 认识图像数据

        3.1.1 获取图像数据

        3.1.2 访问图像数据

3.2 图像滤波

        3.2.1 线性滤波

        3.2.2 非线性滤波

        3.2.3 形态学滤波

3.3 图像变换

        3.3.1 射影变换

        3.3.2 霍夫变换

        3.3.3 边缘检测

        3.3.4 直方图均衡

3.4 图像特征点提取

        3.4.1 SIFT特征点

        3.4.2 SURF特征点

        3.4.3 ORB特征点


本章从认识图像数据、图像滤波、图像变换和图像特征点提取逐步对OpenCV图像处理的知识进行学习。其中需要重点掌握图像特征点提取中的SIFT、SURF和ORB三种特征点。SIFT是最早被提出和广泛使用的特征,SURF是针对SIFT的改进版,ORB是针对SIFT和SURF在性能表现上更优的升级版。同时ORB特征也是后面视觉SLAM章节中ORB_SLAM算法的核心内容,所以一定要搞懂这里面的原理。

第1,2,3章是本书的编程基础篇,学习完这三章后,接下来的章节将正式对机器人的硬件构造进行讲解。

源码仓库

参考文献

【1】 张虎,机器人SLAM导航核心技术与实战[M]. 机械工业出版社,2022.

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值