一起做RGB-D SLAM (4)
第四讲 点云拼接 广告:“一起做”系列的代码网址:https://github.com/gaoxiang12/rgbd-slam-tutorial-gx 当博客更新时代码也会随着更新。 SLAM技术交流群:374238181 读者朋友们大家好!尽管还没到一周,我们的教程又继续更新了,因为暑假实在太闲了嘛! 上讲回顾 上一讲中,我们理解了如何利用图像中的特征点,估计相机的运动。最后,我们得到了一个旋转向量与平移向量。那么读者可能会问:这两个向量有什么用呢?在这一讲里,我们就要使用这两个向量,把两张图像的点云给拼接起来,形成更大的点云。 首先,我们把上一讲的内容封装进slamBase库中,代码如下: include/slamBase.h 1 // 帧结构 2 struct FRAME 3 { 4 cv::Mat rgb, depth; // 该帧对应的彩色图与深度图 5 cv::Mat desp; // 特征描述子 6 vector<cv::KeyPoint> kp; // 关键点 7 }; 8 9 // PnP 结果 10 struct RESULT_OF_PNP 11 { 12 cv::Mat rvec, tvec; 13 int inliers; 14 }; 15 16 // computeKeyPointsAndDesp 同时提取关键点与特征描述子 17