2017-10-08 165 views
0

我正在更新我的PCL FPFH功能代码以使用gpu模块。这一切都按照计划进行,除了退货类型。PCL,从矢量<FPFHSignature33>创建PointCloud <FPFHSignature33>?

原来的CPU版本:

pcl::FPFHEstimation<PointXYZ, Normal, FPFHSignature33> fpfh_est;

compute功能的回报:

PointCloud<FPFHSignature33>

,当我从GPU功能下载返回的数据,那就是:

int stub; 
    vector<FPFHSignature33> downloaded; 
    fpfhs_gpu.download(downloaded, stub); 

如何将此vector<FPFHSignature33>转换为PointCloud<FPFHSignature33>,以便我的应用程序的其余部分需要?

谢谢。

回答

0

这工作:

fpfhs_gpu.download(downloaded, stub); 

    for (int i = 0; i < downloaded.size(); i++) 
    { 
     fpfhs_src.push_back(downloaded[i]); 
    } 

但它是缓慢的,因为它循环遍历向量的每个值。有更快的方法吗?

相关问题