要将Eigen::Vector4f类型的容器保存为点云文件,你需要先创建一个PointCloud类型的容器,然后将Vector4f类型的数据复制到PointCloud容器中,并保存为点云文件。以下是一个使用PCL库的示例代码:

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

int main()
{
    // 创建PointCloud容器
    pcl::PointCloud<pcl::PointXYZ> cloud;

    // 创建Vector4f类型的容器
    Eigen::Vector4f centroid(1.0f, 2.0f, 3.0f, 0.0f);

    // 将Vector4f类型的数据复制到PointCloud容器中
    pcl::PointXYZ point;
    point.x = centroid(0);
    point.y = centroid(1);
    point.z = centroid(2);
    cloud.points.push_back(point);

    // 保存为点云文件
    pcl::io::savePCDFileASCII('centroid.pcd', cloud);

    return 0;
}

在这个示例代码中,我们首先创建了一个PointCloud类型的容器,然后创建了一个Vector4f类型的容器。接下来,我们将Vector4f类型的数据复制到PointCloud容器中,这里我们只使用了前三个元素,因为第四个元素没有用处。最后,我们将PointCloud容器保存为点云文件。在这个示例中,我们使用了ASCII格式保存点云文件,你也可以使用其他格式,例如二进制格式。

Eigen::Vector4f容器保存为点云文件教程

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

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