#include #include <pcl/io/pcd_io.h> #include <pcl/point_types.h>

int main() { // 创建点云指针向量 std::vector<pcl::PointCloudpcl::PointXYZ::Ptr> clouds;

// 创建点云数据
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud1(new pcl::PointCloud<pcl::PointXYZ>);
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud2(new pcl::PointCloud<pcl::PointXYZ>);
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud3(new pcl::PointCloud<pcl::PointXYZ>);

// 填充点云数据
cloud1->width = 100;
cloud1->height = 1;
cloud1->points.resize(cloud1->width * cloud1->height);
for (size_t i = 0; i < cloud1->points.size(); ++i) {
    cloud1->points[i].x = static_cast<float>(i);
    cloud1->points[i].y = static_cast<float>(i);
    cloud1->points[i].z = static_cast<float>(i);
}

cloud2->width = 200;
cloud2->height = 1;
cloud2->points.resize(cloud2->width * cloud2->height);
for (size_t i = 0; i < cloud2->points.size(); ++i) {
    cloud2->points[i].x = static_cast<float>(i);
    cloud2->points[i].y = static_cast<float>(i);
    cloud2->points[i].z = static_cast<float>(i);
}

cloud3->width = 300;
cloud3->height = 1;
cloud3->points.resize(cloud3->width * cloud3->height);
for (size_t i = 0; i < cloud3->points.size(); ++i) {
    cloud3->points[i].x = static_cast<float>(i);
    cloud3->points[i].y = static_cast<float>(i);
    cloud3->points[i].z = static_cast<float>(i);
}

// 将点云指针添加到向量中
clouds.push_back(cloud1);
clouds.push_back(cloud2);
clouds.push_back(cloud3);

// 保存点云数据
for (size_t i = 0; i < clouds.size(); ++i) {
    std::string filename = "cloud_" + std::to_string(i) + ".pcd";
    pcl::io::savePCDFileASCII(filename, *clouds[i]);
    std::cout << "Saved " << filename << std::endl;
}

return 0;

}


原文地址: http://www.cveoy.top/t/topic/pD1E 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录