0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

PCL中非均匀体素采样介绍

麦辣鸡腿堡 来源:古月居 作者:敢敢のwings 2023-11-21 17:50 次阅读

非均匀体素采样

SamplingSurfaceNormal,将输入空间划分为网格,直到每个网格中最多包含N个点,并在每个网格中随机采样点。 使用每个网格的N个点计算法线。 在网格内采样的所有点都分配有相同的法线。

PointCloud < PointNormal >::Ptr incloud (new PointCloud < PointNormal > ());
PointCloud < PointNormal > outcloud;


//Creating a point cloud on the XY plane
for (float i = 0.0f; i < 5.0f; i += 0.1f)
{
  for (float j = 0.0f; j < 5.0f; j += 0.1f)
  {
    PointNormal pt;
    pt.x = i;
    pt.y = j;
    pt.z = 1;
    incloud- >points.push_back (pt);
  }
}
incloud- >width = 1;
incloud- >height = uint32_t (incloud- >points.size ());


pcl::SamplingSurfaceNormal < pcl::PointNormal > ssn_filter;
ssn_filter.setInputCloud (incloud);
ssn_filter.setRatio (0.3f);
ssn_filter.filter (outcloud);


// All the sampled points should have normals along the direction of Z axis
for (unsigned int i = 0; i < outcloud.points.size (); i++)
{
  EXPECT_NEAR (outcloud.points[i].normal[0], 0, 1e-3);
  EXPECT_NEAR (outcloud.points[i].normal[1], 0, 1e-3);
  EXPECT_NEAR (outcloud.points[i].normal[2], 1, 1e-3);
}

6. 半径滤波器采样

对整个输入迭代一次,对于每个点进行半径R邻域搜索,如果邻域点的个数低于某一阈值,则该点将被视为噪声点并被移除。

流程:读入点云→创建半径滤波器对象→设置离群点阈值→执行下采样→保存采样结果

pcl::PointCloud< pcl::PointXYZ >::Ptr pcl_cloud_ptr(pcl_cloud);


boost::shared_ptr< pcl::PointCloud< pcl::PointXYZ >> pcl_vg_cloud(new pcl::PointCloud< pcl::PointXYZ >());
pcl::PointCloud< pcl::PointXYZ >::Ptr pcl_vg_cloud_ptr(pcl_vg_cloud);


boost::shared_ptr< pcl::PointCloud< pcl::PointXYZ >> pcl_ror_cloud(new pcl::PointCloud< pcl::PointXYZ >());
pcl::PointCloud< pcl::PointXYZ >::Ptr pcl_ror_cloud_ptr(pcl_ror_cloud);


//Use VoxelGrid to make points sparse
pcl::VoxelGrid< pcl::PointXYZ > sor;
sor.setInputCloud (pcl_cloud_ptr);
sor.setLeafSize (0.08, 0.1, 0.1); 
sor.filter (*pcl_vg_cloud_ptr);


//Use RadiusOutlierRemoval to remove the point whitch is far away to others
pcl::RadiusOutlierRemoval< pcl::PointXYZ > outrem;
outrem.setInputCloud(pcl_vg_cloud_ptr);
outrem.setRadiusSearch(0.5);
outrem.setMinNeighborsInRadius (3);
outrem.filter (*pcl_ror_cloud_ptr); 


//transfrom and publish
sensor_msgs::PointCloud2Ptr msg_pointcloud(new sensor_msgs::PointCloud2);
pcl::toROSMsg(*pcl_ror_cloud, *msg_pointcloud);
msg_pointcloud- >header.frame_id = optical_frame_id_[RS_STREAM_DEPTH];;  
msg_pointcloud- >header.stamp = ros::Time::now();
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    5008

    文章

    13146

    浏览量

    461942
  • 采样
    +关注

    关注

    1

    文章

    120

    浏览量

    25534
收藏 人收藏

    评论

    相关推荐

    labview能否对非均匀采样数据进行处理

    labview能不能恢复非均匀采样数据的波形,进而对其进行频谱测量、FFT?
    发表于 01-15 13:31

    如何实现非均匀采样

    用NI数据采集卡,如何用LabVIEW进行非均匀采样,并且对所得到的数据进行运算~请高手指点
    发表于 04-16 20:26

    PCL点云库介绍及项目配置方式

    关于PCL点云库,大家百度的时候可以找到很多相关的介绍,反正一堆专业性概念,相关的技术层面以及一些强大的应用叙述云云,不过关于这些小编实在不感冒,能先把这个工具好好用起来再说吧。关于PCL相关的论坛
    发表于 07-02 07:44

    超材料 光启技术

    超材料 光启技术,浪花是如何形成的?如果把浪花拆解开来,它只剩下一个个水分子。如果再把这些水分子聚集起来,在潮汐力的作用下,浪花才能“涌现”出来。涌现,也是智慧诞生的方式。由简单的元素和简单的联接,构成一...
    发表于 07-12 07:28

    PCL6143运动控制器原理及应用

    PCL6143运动控制器的原理及应用 可以用于设计开发相应的芯片电路。介绍PCL6143 的功能结构、主要寄存器以及指令系统。设计了一款基于PC104总线的四轴运动控制卡, 介绍了如
    发表于 09-26 08:14

    均匀采样的频谱研究

    均匀采样的一个很大的优点就是它具有抗频率混叠的性能[ ],首先从均匀采样讨论由采样而引起的频谱混叠现象,在
    发表于 03-13 16:18 18次下载
    非<b class='flag-5'>均匀</b><b class='flag-5'>采样</b>的频谱研究

    一种新的非均匀采样信号的离散傅里叶变换方法

    针对伪随机(PN)码调制的多普勒激光雷达中固有的对外差信号不能等间隔采样的问题,提出一种新的非均匀采样信号的离散傅里叶变换(DFT)方法。首先,给出距离速度同步测量多普勒激光雷达系统模型,指出对外
    发表于 12-23 11:40 0次下载
    一种新的非<b class='flag-5'>均匀</b><b class='flag-5'>采样</b>信号的离散傅里叶变换方法

    基于的算法介绍

    我们介绍了一种新颖的基于的算法,该算法可以交互式地模拟漫反射和光滑单反射间接照明。
    的头像 发表于 11-06 06:04 4254次阅读

    一种基于点云的Voxel(三维)特征的深度学习方法

    特征学习网络的结构如下图所示,包括分块(Voxel Partition),点云分组(Grouping),随机采样(Random Sampling),多层的
    的头像 发表于 12-07 09:32 2.2w次阅读

    空间曲线基于内在几何量的均匀采样方法

    为解决均匀参数采样在许多情况下得到质量不高的采样点,进而生成不理想的B样条拟合曲线,提出空间曲线基于内在几何量的均匀采样方法,以获得给定总数
    发表于 04-22 11:34 4次下载
    空间曲线基于内在几何量的<b class='flag-5'>均匀</b><b class='flag-5'>采样</b>方法

    一种空间曲线基于内在几何量的均匀采样方法

    为解决均匀参数采样在许多情况下得到质量不高的采样点,进而生成不理想的B样条拟合曲线,提出空间曲线基于内在几何量的均匀采样方法,以获得给定总数
    发表于 04-29 14:11 7次下载
    一种空间曲线基于内在几何量的<b class='flag-5'>均匀</b><b class='flag-5'>采样</b>方法

    什么是中频采样?什么是IQ采样?中频采样和IQ采样的比较和转换

    什么是中频采样?什么是IQ采样?中频采样和IQ采样的比较和转换  中频采样和IQ采样是数字信号处
    的头像 发表于 10-22 11:24 5816次阅读
    什么是中频<b class='flag-5'>采样</b>?什么是IQ<b class='flag-5'>采样</b>?中频<b class='flag-5'>采样</b>和IQ<b class='flag-5'>采样</b>的比较和转换

    PCL中基础下采样介绍

    顾名思义,随机下采样就似乎在原始点云中随机采样一定点数的点。这种方法最终得到的点云数量也是固定的。 pcl::PointCloud ::Ptr cloud_sub( new pcl
    的头像 发表于 11-21 17:03 845次阅读
    <b class='flag-5'>PCL</b>中基础下<b class='flag-5'>采样</b><b class='flag-5'>介绍</b>

    PCL中最远点采样是什么

    最远点采样(Farthest Point Sampling) 这里我们来单独看一下调用代码,这里可以看到PCL中支持直接调用farthest_sampling这个函数可以实现最远点采样。 最远点
    的头像 发表于 11-21 17:18 709次阅读

    PCL中法线空间采样介绍

    法线空间采样 NormalSpaceSampling即:法线空间采样,它在法向量空间内均匀随机抽样,使所选点之间的法线分布尽可能大,结果表现为地物特征变化大的地方剩余点较多,变化小的地方剩余点稀少
    的头像 发表于 11-21 17:28 763次阅读