wordpress 国内视频网站,门户网站 流量,wordpress添加主题不显示,做淘宝客网站会犯法吗文章目录 声明简介代码参考 声明
示例结果比较奇怪#xff0c;可能是参数没调好#xff0c;如有问题#xff0c;望指正#xff01;
简介
基于MLS#xff08;Moving Least Squares#xff09;的上采样是一种常用的点云处理方法#xff0c;用于增加稀疏点云数据的密度和… 文章目录 声明简介代码参考 声明
示例结果比较奇怪可能是参数没调好如有问题望指正
简介
基于MLSMoving Least Squares的上采样是一种常用的点云处理方法用于增加稀疏点云数据的密度和细节。MLS上采样通过对点云进行局部拟合并使用拟合结果生成新的点从而实现点云的平滑和细节恢复。
MLS上采样的工作流程如下
针对每一个待上采样的点选择其邻域内的一组最近邻点。对于选定的邻域点集通过拟合一个平滑的曲面来逼近这些点。常用的拟合方法包括欧式最小二乘法OLS和加权最小二乘法WLS。根据拟合结果生成新的采样点。通常是在拟合曲面上均匀采样一定数量的点。重复以上步骤直到所有待上采样的点都得到处理。
MLS上采样的结果具有以下特点
增加点云的密度通过生成额外的采样点将原始稀疏点云的密度增加到更高的水平。平滑点云的表面由于对每个点进行了局部曲面拟合MLS上采样可以实现平滑点云的表面减少形状的噪声和不规则性。恢复细节通过在拟合曲面上均匀采样新的点MLS上采样可以恢复原始点云中的细节信息。
下图所示是使用PCL实现的基于MLS上采样的结果图。
a原始点云bPCL中基于MLS上采样结果
代码
// Create a KD-Tree
pcl::search::KdTreePointType::Ptr tree(new pcl::search::KdTreePointType);// Init object (second point type is for the normals, even if unused)
pcl::MovingLeastSquaresPointType, PointType mls;
mls.setComputeNormals (true);// Set parameters
mls.setInputCloud(cp_.cloud_);
mls.setPolynomialOrder(3);
mls.setSearchMethod(tree);
mls.setSearchRadius(0.005);//Upsampling 采样的方法还有 DISTINCT_CLOUD, RANDOM_UNIFORM_DENSITY
mls.setUpsamplingMethod(pcl::MovingLeastSquaresPointType, PointType::SAMPLE_LOCAL_PLANE); //对点云进行上采样
mls.setUpsamplingRadius(0.002); // the larger it is, the more range it will expand
mls.setUpsamplingStepSize(0.0001); // the small it is, the span will be smaller
mls.process(*ocloud_); //执行采样操作参考
[1] https://blog.51cto.com/u_13157605/6038637