PCL系列之——点云读取与显示

PCL 专栏收录该内容
5 篇文章 3 订阅
PCL读取点云,并在窗口中显示。
#include <iostream>
#include <pcl/io/ply_io.h>
#include <pcl/point_types.h>
#include <pcl/filters/filter_indices.h>
#include <pcl/point_cloud.h>
#include <pcl/visualization/pcl_visualizer.h>

using namespace std;

int main()
{
//*********************************************************************************
//***************************read PLY file*****************************************
//*********************************************************************************
	
	cout << "read ply file...\n";
	pcl::PointCloud<pcl::PointXYZ>::Ptr source(new pcl::PointCloud<pcl::PointXYZ>());
	pcl::PointCloud<pcl::PointXYZ>::Ptr target(new pcl::PointCloud<pcl::PointXYZ>());
	pcl::io::loadPLYFile("1.ply", *target);
	pcl::io::loadPLYFile("2.ply", *source);

	//去除无效点
	std:vector<int> index;
	pcl::removeNaNFromPointCloud(*source, *source, index);
	pcl::removeNaNFromPointCloud(*target, *target, index);

//*********************************************************************************
//********************visualization pointcloud*************************************
//*********************************************************************************
	cout << "Visualization_PointCloud...\n";
	boost::shared_ptr< pcl::visualization::PCLVisualizer > viewer(new pcl::visualization::PCLVisualizer("Ransac"));
	viewer->setBackgroundColor(0, 0, 0);
	//创建窗口
	int vp;
	viewer->createViewPort(0.0, 0.0, 1.0, 1.0, vp);
	//设置点云颜色
	pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> source_color(source, 0, 255, 0);
	pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> target_color(target, 255, 255, 255);

	viewer->addPointCloud<pcl::PointXYZ>(source, source_color, "source", vp);
	viewer->addPointCloud<pcl::PointXYZ>(target, target_color, "target", vp);

	viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, "source");
	viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, "target");
	viewer->spin();
}

 

  • 4
    点赞
  • 7
    评论
  • 19
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值