这是基于pcl库遍历std::vector all,将std::vector idx 内没有的索引存入 std::vector idx11,并将 idx11 表示的数据用指针 by_slicing_cloud 表示的 C++ 代码示例:

#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 坐标

基于pcl库遍历stdvectorint all;将stdvectorintidx内没有的索引存入stdvectorintidx11并将idx11表示的数据用指针by_slicing_cloud表示的c++代码

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

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