KITTI数据集给出的点云是无序的,对于以外多数算法而言影响不是很大,然而对于近期兴起的基于2.5D点云图进行处理的算法却很要命,因为丢失了点所在雷达线的信息,无序点云几乎无法用来进行该类算法的验证。
好在KITTI的bin文件本身是按照线的顺序进行存储的,因此只需要做一点处理,就能恢复出线信息(这里不得不鄙视下百度的APOLLOSCAPE数据集,直接就把线信息丢失了,也没给出解决方案!坑爹啊!!!)。
下面直接给出转换代码,具体的细节可见代码的注释或者下面给出的参考文章。
/*
作者:weixinhum
日期:20190731
功能:将kitti数据集的无序点云转成有序点云
*/
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
#define LINEPOINTQUANTITY 2000