思路: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,确认即可。
发表评论