点云的网格化【Win10+VS2015】

本文为参考【计算机视觉life】公众号的系列文章:从零开始一起学习SLAM | 点云到网格的进化,实现的点云网格化过程。

网格化流程
  1. 下采样+统计滤波
    通过下采样减少点云数据容量、提高处理速度;使用统计分析技术,去除点云数据集中的噪声、离群点;
滤波前后对比
  1. 重采样,平滑处理
    通过重采样对物体表面进行平滑处理和漏洞修复
点云平滑前后
  1. 计算点云表面法线
    计算点云法线,并将点云位姿、颜色、法线信息合并到一起,构建有向点云。
点云表面法线
  1. 网格化
    使用贪心投影三角化算法对有向点云进行三角化,实现稀疏点云的网格化。
点云网格化示例
代码
/****************************
 * 给定稠密的点云,进行如下操作:
 * 		下采样和滤波、重采样平滑、法线计算,贪心投影网格化。
****************************/
#include <pcl/point_types.h>
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/filters/radius_outlier_removal.h>
#include <pcl/filters/voxel_grid.h>
#include <pcl/filters/statistical_outlier_removal.h>
#include <pcl/surface/mls.h>
#include <pcl/features/normal_3d.h>
#include <pcl/surface/gp3.h>
#include <pcl/surface/poisson.h>
typedef pcl::PointXYZ PointT;

int main(int argc, char** argv)
{
   
	// Load input file
	pcl::PointCloud<PointT>::Ptr cloud(new pcl::PointCloud<PointT>);
    pcl::PointCloud<PointT>::Ptr cloud_downSampled(new pcl::PointCloud<PointT>);
	pcl::PointCloud<PointT>::Ptr cloud_filtered(new pcl::PointCloud<PointT>)
  • 3
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值