ICP+点云拼接实践

在尝试改进14讲的ICP算法并融合点云拼接时,遇到逻辑组织难题。决定从头开始重写,首先明确每个部分的具体实现。计划在匹配点云过程中同时存储颜色、坐标和深度信息,当匹配点满足条件时一并存入。点云拼接实验中,涉及到colorImgs和depthImgs的vector操作,以及新建点云和处理colors_for_all的过程。

写程序时觉得自己的逻辑和思路比较混乱,而且仅仅是在写比较小的程序、无需构架方面的考虑时。比如,试图修改14讲的ICP算法,使之结合拼接点云实验时,需要将前面匹配的keypoints坐标、颜色、深度保存,并在拼接点云时作为参数传入,半天不知道该在哪里加,总感觉原本的写法用起来不太会。遂从提取特征点开始,重写之。
第一步,先搞清楚每个部分如何实现吧,十分具体的框图如下
这里写图片描述

接下来,要往里面添加存储颜色、坐标的代码。匹配点最后筛选时入栈了,那对于之前检测到的特征点,检测时我们也一起提取出颜色、坐标、深度,在符合要求匹配点入栈时,一起使之入栈,是否可行?
在点云拼接实验中
colorImgs, depthImgs的类型是vector

vector<cv::Mat> colorImgs, depthImgs;
colorImgs.push_back(cv::imread(picture[i].str()));
depthImgs.push_back(cv::imread(picture[i].str(),-1));//使用-1读取原始图像?啥意思
cv::Mat color = colorImgs[i];
cv::Mat depth = depthImgs[i];

新建点云

typedef pcl::PointXYZRGB PointT
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值