PCD文件格式的转换

PCD文件格式的转换

1.PCD文件格式转PLY文件格式

bool 
loadPCDCloud(const string &filename,pcl::PCLPointCloud2 &cloud)
{
	TicToc tt;
	print_highlight("Loading "); print_value("%s ", filename.c_str());
	pcl::PLYReader reader;

	tt.tic();
	if (loadPCDFile(filename, cloud) < 0)
		return (false);
	print_info("[done, "); print_value("%g", tt.toc()); print_info(" ms : "); print_value("%d", cloud.width * cloud.height); print_info(" points]\n");
	print_info("Available dimensions: "); print_value("%s\n", pcl::getFieldsList(cloud).c_str());
	return true;
}

void
savePLYCloud (const std::string &filename, const pcl::PCLPointCloud2 &cloud, bool binary,bool use_camera)
{
  TicToc tt;
  tt.tic ();

  print_highlight ("Saving "); print_value ("%s ", filename.c_str ());

  pcl::PLYWriter writer;
  //传感器采集原点 获取方向 Identity() 1 0 0 0
  writer.write (filename, cloud, Eigen::Vector4f::Zero (), Eigen::Quaternionf::Identity (), binary,use_camera);

  print_info ("[done, "); print_value ("%g", tt.toc ()); print_info (" ms : "); print_value ("%d", cloud.width * cloud.height); print_info (" points]\n");
}


bool format = 1;
bool use_camera = 1;
pcl::PCLPointCloud2 cloud;
if (!loadPCDCloud("4.pcd", cloud))
    return (-1);
savePLYCloud("4.ply", cloud, format,use_camera);

2.PLY文件格式转PCD文件格式

bool 
loadPLYCloud(const string &filename,pcl::PCLPointCloud2 &cloud)
{
	TicToc tt;
	print_highlight("Loading "); print_value("%s ", filename.c_str());
	pcl::PLYReader reader;

	tt.tic();
	if (reader.read(filename, cloud) < 0)
		return (false);
	print_info("[done, "); print_value("%g", tt.toc()); print_info(" ms : "); print_value("%d", cloud.width * cloud.height); print_info(" points]\n");
	print_info("Available dimensions: "); print_value("%s\n", pcl::getFieldsList(cloud).c_str());
	return true;
}

void
savePCDCloud (const std::string &filename, const pcl::PCLPointCloud2 &cloud, bool format)
{
  TicToc tt;
  tt.tic ();

  print_highlight ("Saving "); print_value ("%s ", filename.c_str ());

  pcl::PCDWriter writer;
  //传感器采集原点 获取方向 Identity() 1 0 0 0
  writer.write (filename, cloud, Eigen::Vector4f::Zero (), Eigen::Quaternionf::Identity (), format);

  print_info ("[done, "); print_value ("%g", tt.toc ()); print_info (" ms : "); print_value ("%d", cloud.width * cloud.height); print_info (" points]\n");
}

bool format = 1;
if (!loadPLYCloud("4.ply", cloud))
    return (-1);
savePCDCloud("4.pcd", cloud, format);
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值