深度图像+rgb转化点云数据、点云数据打开、显示以及保存

本文介绍了如何将深度图像与RGB数据转化为点云数据,并详细讲述了点云的打开、显示和保存过程,包括生成随机点云数据的方法。同时,提供了两个详细的原博文链接以供参考。
摘要由CSDN通过智能技术生成
  • 头文件
#include<iostream>
#include <fstream>
#include <stdio.h>
#include <string.h>
#include<pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/point_types.h>
  • 点云的打开
// 创建点云(指针)
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); 
// 读入PCD格式的文件,如果文件不存在,返回-1
if (pcl::io::loadPCDFile<pcl::PointXYZ>("cloud.pcd", *cloud) == -1) {
		system("pause");
		return (-1);
}
std::cout << "Loaded "<< cloud->width * cloud->height	//总点数
	<< " data points from test_file.pcd with the following fields."<< std::endl;
//试显示前5个的点
for (size_t i = 0; i < 5; ++i){
	std::cerr << " " << cloud->points[i].x
			<< " " << cloud->points[i].y
			<< " " << cloud->points[i].z << std::endl;
}
  • 点云的保存
pcl::io::savePCDFile("cloud.pcd", *cloud);
  • 点云显示
pcl::visualization::CloudViewer viewer("pcd_before viewer");//显示点云
viewer.showCloud(cloud);
system("pause");//暂停显示防止闪退
  • 生成随机点云数据
	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud1(new pcl::PointCloud<pcl::PointXYZ>);
	cloud1->width = 500;
	cloud1->height = 1;
	cloud1->points.resize(cloud1->width*cloud1->height);
	std::cout << "创建原始点云数据" << std::endl;
	for (size_t i = 0; i < cloud1->points.size(); ++i)
	{
		cloud1->poi
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值