Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process实现

Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process实现流程

  • 一、demo演示
  • 二、项目地址
  • 三、复现流程
  • 测试数据
  • 后续

一、demo演示

二、项目地址

github链接:Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process
论文链接:Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process
论文下载:csdn论文下载

三、复现流程

1、下载源码
Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process实现_第1张图片
2、新建vs工程,包含jpc_groundremove.cpp与jpc_groundremove.h文件即可。运行main函数。具体如下:

1)属性列表添加opencv与pcl
Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process实现_第2张图片
2)添加相关现有文件Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process实现_第3张图片

3)运行main函数即可


#include "jpc_groundremove.h"

int main(int argc, char** argv){

	pcl::PointCloud<PointXYZIR>::Ptr cloud(new pcl::PointCloud<PointXYZIR>);
    	pcl::io::loadPCDFile<PointXYZIR>(argv[1], *cloud);
    	cloud->height = 1;
    	cloud->width = cloud->points.size();

	cout<< cloud->points.size()<<endl;
    	cloud->is_dense = false;

	pcl::PointCloud<PointXYZIR>::Ptr cloud_gr(new pcl::PointCloud<PointXYZIR>);
	pcl::PointCloud<PointXYZIR>::Ptr cloud_ob(new pcl::PointCloud<PointXYZIR>);

	JpcGroundRemove groundremove;
	groundremove.GroundRemove(*cloud, *cloud_gr, *cloud_ob);


	boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(
			new pcl::visualization::PCLVisualizer("pcd")); //PCLVisualizer 可视化类
	viewer->setBackgroundColor(0.1, 0.1, 0.1);

	pcl::visualization::PointCloudColorHandlerCustom <PointXYZIR> color_gr(cloud_gr, (0), (255), (0));
	string s_gr = "cloud_gr";
	viewer->addPointCloud(cloud_gr, color_gr, s_gr);

	pcl::visualization::PointCloudColorHandlerCustom <PointXYZIR> color_ob(cloud_ob, (255), (0), (0));
	string s_ob = "cloud_ob";
	viewer->addPointCloud(cloud_ob, color_ob, s_ob);

	pcl::io::savePCDFile("test.pcd", *cloud_gr);

	while (!viewer->wasStopped()) {
		viewer->spin();
	}

	return 0;
}

测试数据

Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process实现_第4张图片
运行后,绿色是地面,红色非地面部分。
Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process实现_第5张图片
Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process实现_第6张图片
非地面部分
Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process实现_第7张图片
地面部分
Fast Ground Segmentation for 3D LiDAR Point Cloud Based on Jump-Convolution-Process实现_第8张图片

后续

一起学习,一起进步。

你可能感兴趣的:(PCL点云学习,pcl,点云,c++,点云处理)