基于pcl库遍历stdvectorint all;将stdvectorintidx内没有的索引存入stdvectorintidx11并将idx11表示的数据用指针by_slicing_cloud表示的c++代码
这是基于pcl库遍历std::vector
#include <pcl/common/common.h>
int main()
{
std::vector<int> all = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
std::vector<int> idx = {1, 3, 5, 7, 9};
std::vector<int> idx11;
for (int i = 0; i < all.size(); ++i)
{
if (std::find(idx.begin(), idx.end(), all[i]) == idx.end())
{
idx11.push_back(all[i]);
}
}
pcl::PointCloud<pcl::PointXYZ>::Ptr by_slicing_cloud(new pcl::PointCloud<pcl::PointXYZ>);
for (int i = 0; i < idx11.size(); ++i)
{
pcl::PointXYZ point;
point.x = idx11[i]; // Assuming the values in idx11 represent the x-coordinate
point.y = 0.0;
point.z = 0.0;
by_slicing_cloud->push_back(point);
}
// Display the by_slicing_cloud data
for (int i = 0; i < by_slicing_cloud->size(); ++i)
{
std::cout << "Point " << i << ": " << by_slicing_cloud->points[i].x << std::endl;
}
return 0;
}
在上面的代码中,我们首先遍历 all 向量,找到不在 idx 向量中的索引,并将这些索引存入 idx11 向量。然后,我们使用 pcl::PointCloud<pcl::PointXYZ>::Ptr 创建了一个指向 pcl::PointCloud 的智能指针 by_slicing_cloud。接下来,我们遍历 idx11 向量,将每个索引的数据作为点的 x 坐标,然后将这些点添加到 by_slicing_cloud 中。最后,我们遍历 by_slicing_cloud 中的点并输出其 x 坐标
原文地址: https://www.cveoy.top/t/topic/h4la 著作权归作者所有。请勿转载和采集!