PCL编程-点云采样

1 点云复制:copyPointCloud

copyPointCloud<PointXYZRGBA,PointXYZRGBA>(*cloud_in,*cloud_out);
cloud_in,cloud_out分别为输入输出的点云指针。


2 点云采样

void pcl::copyPointCloud  ( const PointCloud<PointT> &   cloud_in,  
  			    const std::vector< int > &  indices,  
                            PointCLoud<PointT> & cloud_out  ) 

通过indices存储需要复制的点索引。通过构建indices,便可实现任意的采样。


将640*480的Organized点云降采样的代码如下:(降成320*240)

PointCloud<PointXYZRGBA>::Ptr cloud (new PointCloud<PointXYZRGBA>);
vector<int> indice;
for(int i=0;i<cloudRaw->size();i++)
{if(i/cloudRaw->width%2==0 && i%cloudRaw->width%2==0){indice.push_back(i);}}
copyPointCloud<PointXYZRGBA,PointXYZRGBA>(*cloudRaw,indice,*cloud);
cloud->width=cloudRaw->width/2;cloud->height=cloudRaw->height/2;cloud->resize(cloud->width*cloud->height);
因为copy后得到的点云为无序点云,若仍要使点云有序,改变点云的width和height即可。





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值