gpt4 book ai didi

eigen - 使用 Eigen Vector3d 容器创建 PCL 点云

转载 作者:行者123 更新时间:2023-12-04 07:03:37 35 4
gpt4 key购买 nike

我正在尝试生成 PCL 点云。我所有的点都在以下容器类型中:

std::vector<Eigen::Vector3d,Eigen::aligned_allocator<Eigen::Vector3d> >

我想创建一个指向 PCL 点云的指针:
pcl::PointCloud<pcl::PointXYZ>::Ptr pc 

创建此点云的最有效方法是什么?

最佳答案

由于 PCL 似乎使用 float[4] 来存储点,当您指定 pcl:PointXYZ 时,您将不得不单独复制每个元素(未测试):

pc->points.resize( v.size() );
for(size_t i=0; i<v.size(); ++i)
pc->points[i].getVector3fMap() = v[i].cast<float>();

如果您改用 vector4d 并确保每个元素的最后一个系数为 0,您可以执行 memcpy 甚至交换(有一点技巧)。

关于eigen - 使用 Eigen Vector3d 容器创建 PCL 点云,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17129018/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com