思路:pcd->pts,Creo显示pts
源文件:test.pcd
pcd->pts方法:
#include <iostream>
#include <fstream>
#include <pcl\io\pcd_io.h>
typedef pcl::PointCloud<pcl::PointXYZ> PointCloud;
typedef pcl::PointCloud<pcl::PointXYZ>::Ptr PointCloudPtr;
void writePTS(std::string filename, PointCloudPtr cloud)
{
ofstream of;
of.open(filename);
size_t num = cloud->points.size();
if (num == 0)
{
}
else
{
for (size_t i = 0; i < num; i++)
{
double x = cloud->points[i].x;
double y = cloud->points[i].y;
double z = cloud->points[i].z;
string s = std::to_string(x) + " " + std::to_string(y) + " " + std::to_string(z);
of << s << std::endl;
}
}
of.close();
}
int main()
{
PointCloudPtr cloud(new PointCloud);
std::string pcdfilename = "test.pcd";
if (pcl::io::loadPCDFile(pcdfilename, *cloud) == -1)
{
std::cout << "Could not open pcd file " << std::endl;
return -1;
}
std::string filestring = "D://test.pts";
writePTS(filestring, cloud);
return 0;
}
Creo显示pts:
在获取数据下点击导入按钮,选中test.pts,确认即可。