PCL系列——将点云数据写入PCD格式文件
PCL系列** PCL系列——读入PCD格式文件操作** PCL系列——将点云数据写入PCD格式文件操作在VS2010 中新建一个文件read_pcd.cpp,然后将下面的代码复制到文件中。参照之前的文章,配置项目的属性。设置包含目录和库目录和附加依赖项。#include <iostream> //标准输入输出流#include <pcl/io/pcd_io.h> //PC
·
博客新址: http://blog.xuezhisd.top
邮箱:xuezhisd@126.com
PCL系列
- PCL系列——读入PCD格式文件操作
- PCL系列——将点云数据写入PCD格式文件
- PCL系列——拼接两个点云
- PCL系列——从深度图像(RangeImage)中提取NARF关键点
- PCL系列——如何可视化深度图像
- PCL系列——如何使用迭代最近点法(ICP)配准
- PCL系列——如何逐渐地配准一对点云
- PCL系列——三维重构之泊松重构
- PCL系列——三维重构之贪婪三角投影算法
- PCL系列——三维重构之移动立方体算法
操作
- 在VS2010 中新建一个文件pcd_write.cpp,然后将下面的代码复制到文件中。
- 参照之前的文章,配置项目的属性。设置包含目录和库目录和附加依赖项。
#include <iostream> //标准输入输出流
#include <pcl/io/pcd_io.h> //PCL的PCD格式文件的输入输出头文件
#include <pcl/point_types.h> //PCL对各种格式的点的支持头文件
int main (int argc, char** argv)
{
pcl::PointCloud<pcl::PointXYZ> cloud; // 创建点云(不是指针)
//填充点云数据
cloud.width = 5; //设置点云宽度
cloud.height = 1; //设置点云高度
cloud.is_dense = false; //非密集型
cloud.points.resize (cloud.width * cloud.height); //变形,无序
//设置这些点的坐标
for (size_t i = 0; i < cloud.points.size (); ++i)
{
cloud.points[i].x = 1024 * rand () / (RAND_MAX + 1.0f);
cloud.points[i].y = 1024 * rand () / (RAND_MAX + 1.0f);
cloud.points[i].z = 1024 * rand () / (RAND_MAX + 1.0f);
}
//保存到PCD文件
pcl::io::savePCDFileASCII ("test_pcd.pcd", cloud); //将点云保存到PCD文件中
std::cerr << "Saved " << cloud.points.size () << " data points to test_pcd.pcd." << std::endl;
//显示点云数据
for (size_t i = 0; i < cloud.points.size (); ++i)
std::cerr << " " << cloud.points[i].x << " " << cloud.points[i].y << " " << cloud.points[i].z << std::endl;
return (0);
}
- 运行结束后,在项目目录下生成test_pcd.pcd文件,内容如下图所示。
参考
更多推荐
已为社区贡献4条内容
所有评论(0)