用C++将txt转化为pcd
时间: 2024-04-30 12:22:03 浏览: 86
将txt转化为pcd文件需要用到PCL(点云库),以下是C++代码实现:
```cpp
#include <iostream>
#include <string>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
int main(int argc, char** argv)
{
if (argc < 3) {
std::cerr << "Usage: txt2pcd input.txt output.pcd" << std::endl;
return -1;
}
// 读取txt文件
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
std::ifstream input_file(argv[1]);
std::string line;
while (std::getline(input_file, line)) {
pcl::PointXYZ point;
std::istringstream iss(line);
iss >> point.x >> point.y >> point.z;
cloud->push_back(point);
}
// 写入pcd文件
pcl::PCDWriter writer;
writer.write<pcl::PointXYZ>(argv[2], *cloud, false);
std::cout << "Converted " << cloud->size() << " points from " << argv[1] << " to " << argv[2] << std::endl;
return 0;
}
```
使用方法如下:
```
./txt2pcd input.txt output.pcd
```
其中,`input.txt`是需要转换的txt文件,`output.pcd`是生成的pcd文件。
阅读全文