void getScanOf3DLidar(){
//从3D点云中获取出中间一圈的数据
//由于雷神激光雷达没有0°线扫,所以获取出来的线扫不是在一个平面上的
pcl::PointCloud<pcl::PointXYZI>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZI>);
pcl::io::loadPCDFile("/home/cbc/lidar3D.pcd", *cloud);
cout<<cloud->width<<endl;
cout<<cloud->height<<endl;
pcl::PointCloud<pcl::PointXYZI>::Ptr scan(new pcl::PointCloud<pcl::PointXYZI>);
scan->width = cloud->width;
scan->height = 1;
for(int i = (cloud->height / 2) * cloud->width; i < (cloud->height/2+1) * cloud->width;++i){
scan->points.push_back(cloud->points[i]);
}
// for(int i = 0; i < cloud->width*cloud->height;++i){
// scan->points.push_back(cloud->points[i]);
// }
cout<<scan->width<<" "<<scan->height<<endl;
pcl::visualization::CloudViewer viewer("cloud");
viewer.showCloud(scan);
while (!viewer.wasStopped())
{
/* code */
}
}