PCD转TXT文档

@PCD转TXT文档

将PCD格式的点云转换为TXT文档 只保留XYZ坐标。并且之后将源点云尺度放大n倍,并转换。

#define _CRT_SECURE_NO_WARNINGS
#define _SCL_SECURE_NO_WARNINGS
#define _SILENCE_FPOS_SEEKPOS_DEPRECATION_WARNING
#define BOOST_TYPEOF_EMULATION
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_cloud.h>
#include <pcl/common/transforms.h>	
using namespace std;

void PcdtoTxt(pcl::PointCloud<pcl::PointXYZ>::Ptr cloud, string path)
{
	int Num = cloud->points.size();
	double *X = new double[Num] {0};
	double *Y = new double[Num] {0};
	double *Z = new double[Num] {0};
	for (size_t i = 0; i < cloud->points.size(); ++i)
	{
		X[i] = cloud->points[i].x;
		Y[i] = cloud->points[i].y;
		Z[i] = cloud->points[i].z;
	}

	ofstream zos(path);
	zos << Num << endl;
	for (int i = 0; i < Num; i++)
	{
		zos << X[i] << " " << Y[i] << " " << Z[i] << endl;
	}
	cout << "trans has done!!!" << endl;

}



int main()
{
	pcl::PointCloud<pcl::PointXYZ>::Ptr source_cloud(new pcl::PointCloud<pcl::PointXYZ>);
	pcl::io::loadPCDFile<pcl::PointXYZ>("C:\\Users\\yue\\Desktop\\test_pcd.pcd", *source_cloud);
	cout << "Loaded" << source_cloud->points.size() << "cloud_target" << endl;
	string cloud_source_txt = "C:\\Users\\yue\\Desktop\\test_pcd.txt";
	PcdtoTxt(source_cloud, cloud_source_txt);

	/*
	以下是扩展  将source_cloud尺度变换n倍并转换输出
	*/
	Eigen::Affine3f transform = Eigen::Affine3f::Identity();
	int n = 5;
	transform.scale(n);
	
	pcl::PointCloud<pcl::PointXYZ>::Ptr target_cloud(new pcl::PointCloud<pcl::PointXYZ>());
	pcl::transformPointCloud(*source_cloud, *target_cloud, transform);
	string cloud_target_txt = "C:\\Users\\yue\\Desktop\\变大_"+ std::to_string(n) +".txt";
	PcdtoTxt(target_cloud, cloud_target_txt);

	return 0;
}

pyl转pcd
链接:pyl转pcd

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值