PCL visualization color 点云可视化,颜色显示,多窗口,显示文本

本文介绍如何使用PCL库实现点云的多种可视化效果,包括根据深度变化颜色、自定义颜色字段、显示点云自带颜色信息等多种技巧。

目录

 Part1 根据不同深度显示不同颜色

Part2 根据用户自定义 增加一列 自定义颜色,我这里借用了 PointXYZI

Part3: Total

Part4: Multiple viewer

Part5: 鼠标点击处显示文本


 Part1 根据不同深度显示不同颜色

#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <boost/thread/thread.hpp>

#define FILE_PATH "aa.pcd"
 //------------------------------------------------------------------//
//                          全局函数声明                            //
//------------------------------------------------------------------//
//void CreateCloudFromTxt(const std::string& file_path, pcl::PointCloud<pcl::PointXY>::Ptr cloud);
void visualization(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud);
//------------------------------------------------------------------//
//                         主函数,程序入口                         //
//------------------------------------------------------------------//
int main(int argc, char** argv) {
	// -------------------加载点云----------------------
	pcl::PointCloud<pcl::PointXYZI>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZI>);
	pcl::io::loadPCDFile(FILE_PATH, *cloud);
	// -----------------可视化点云---------------------
	visualization(cloud);

	Sleep(100 * 1000);
	return 0;
}
////------------------------------------------------------------------//
////                            子函数实现                            //
////------------------------------------------------------------------//

////------------------数据可视化-------------------
void visualization(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud)
{
	boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("viewer"));

	// 添加需要显示的点云数据

	pcl::visualization::PointCloudColorHandlerGenericField<pcl::PointXYZ> single_color(cloud, "z");/// deep different color
	//pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> single_color(cloud, "x");
	//pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> single_color(cloud, "y");
	viewer->addPointCloud<pcl::PointXYZ>(cloud, single_color, "example");
	viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "example");

	while (!viewer->wasStopped()) {
		viewer->spinOnce(100);
		boost::this_thread::sleep(boost::posix_time::microseconds(100000));
	}
}

Part2 根据用户自定义 增加一列 自定义颜色,我这里借用了 PointXYZI

#include <iostream>
#include <pcl/io/pcd_io.h>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

恋恋西风

up up up

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值