PCL使用心得(二)点云数据可视化

系列文章目录

PCL使用心得(一)点云数据读取、保存以及格式自定义

一、cloud_viewer

最基本的点云显示:

#include <pcl/visualization/cloud_viewer.h>

pcl::visualization::CloudViewer viewer("PCD");
viewer.showCloud(cloud);
while (!viewer.wasStopped())
{
}

二、PCLVisualizer

相较于cloud_viewer, PCLVisualizer能够更加灵活的定义多种显示特性:

基本

#include <pcl/visualization/pcl_visualizer.h>

boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(
		new pcl::visualization::PCLVisualizer("cloud view")); //PCLVisualizer 可视化类
viewer->setBackgroundColor(1, 1, 1); //black
viewer->addCoordinateSystem(1); //添加坐标系显示

pcl::PointCloud<pcl::PointXYZ>::Ptr cloud;

viewer->addPointCloud(cloud, "cloud");

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

定义点云颜色

pcl::visualization::PointCloudColorHandlerCustom < pcl::PointXYZ > clolor(cloud , 255, 0, 255); //Magenta
viewer->addPointCloud(cloud, clolor, "cloud" );

定义点云大小

viewer_->setPointCloudRenderingProperties( 
						pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 3, "cloud" );

点云中添加形状

矩形:

Eigen::Quaternionf rotation;//定义四元数旋转
Eigen::Vector3f translation; // 定义平移向量
viewer->addCube(translation, rotation , width, length, height, "cube");

箭头:

pcl::PointXYZ  rcenter;//箭头起始点
pcl::PointXYZ  center;//箭头终点
viewer->addArrow(rcenter, center, w, l, h, false, "arrow" );

定义形状颜色:

viewer_->setShapeRenderingProperties( pcl::visualization::PCL_VISUALIZER_COLOR, 1.0, 1.0, 1.0, "cube"); //DeepSkyBlue

删除形状:

viewer->removeShape("cube");

添加字体:

string text;
pcl::PointXYZ position;
viewer->addText3D(text, position, 0.8, 1.0, 1.0, 1.0, "text");// w, h , l , 字体粗细

删除所有形状:

viewer->removeAllShapes();

删除点云

viewer->removeAllPointClouds();

更新点云

viewer-> updatePointCloud(cloud,"cloud")
  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值