1. 点云重采样

基于多项式平滑点云及法线估计的曲面重建以实现重采样,可以使得点云数据更规整一些,没之前那么杂乱。

  • set_Compute_Normals(True) 可以通过在最小二乘法中进行法线估计,提高重采样准确度;
  • set_polynomial_fit(True) 可以通过不需要多项式拟合来加快平滑速度,设置为True则在整个算法运行时采用多项式拟合来提高精度;

2. 效果如下:

重建前:

正面:
侧面:

重建后:

正面:

侧面:

可以看到重采样后点云的形状清晰了许多。

3. 源码

# -*- coding: utf-8 -*-
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
#  <基于多项式平滑点云及法线估计的曲面重建重采样,使得数据更规整一些,没之前那么杂乱>Smoothing and normal estimation based on polynomial reconstructionhttp://pointclouds.org/documentation/tutorials/resampling.php#moving-least-squares
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
import pcldef main():# 加载点云cloud = pcl.load('D:/tests/examples/official/Surface/bun0.pcd')print('cloud(size) = ' + str(cloud.size))# 构建kd树tree = cloud.make_kdtree()# 重建mls = cloud.make_moving_least_squares()print('make_moving_least_squares')mls.set_Compute_Normals(True)  # 设置在最小二乘计算中需要进行法线估计mls.set_polynomial_fit(True)  # 可以通过不需要多项式拟合来加快平滑速度,设置为true时则在整个算法运行时采用多项式拟合来提高精度mls.set_Search_Method(tree)mls.set_search_radius(0.03)print('set parameters')mls_points = mls.process()print('mls_points(size) = ' + str(mls_points.size))# 存储重采样结果pcl.save_PointNormal(mls_points,'D:/tests/examples/official/Surface/bun0-mls-nonormas.pcd')if __name__ == "__main__":main()

参考:

  • http://pointclouds.org/documentation/tutorials/resampling.php#moving-least-squares

【点云重采样Resampling】Python-pcl 基于多项式平滑点云及法线估计的曲面重建相关推荐

  1. 华为云推出业界首个基于ARM框架的云手机解决方案

    华为云推出业界首个基于ARM框架的云手机解决方案 在手机已经普及到千家万户的时代,人们对手机应用的诉求日益提升.为此,华为云推出了云手机. 华为云云手机提供基于云的虚拟仿真手机服务,将手机上的应用转移 ...

  2. 机智云代码移植_IoT开发者 | 基于STM32F103的机智云宠物屋外加4路继电器开源教程...

    [ 写在前面 ] 自智云社区开辟IoT开源项目专区以来,一直有IoT开发者在贡献案例.玛莉甄选了一些具有代表性的案例分享给IoT爱好者们,本文亦如此. 若你有好的案例,想和IoT爱好者们分享,欢迎投稿 ...

  3. PCL 基于两点进行点云对齐

    文章目录 一.简介 二.实现代码 三.实现效果 参考资料 一.简介 使用两点对点云对齐过程如下所述: 1.首先首先执行一个平移过程来对齐源点云与目标点云中的一个点. 2.然后通过绕轴旋转来对齐源点云与 ...

  4. 灵雀云与F5联合发布基于Kube-OVN的企业级云原生应用交付解决方案

    随着Kubernetes在企业中的应用日渐深入,Kubernetes网络应用场景也变得日趋复杂.用户面临着各种各样与网络相关的问题,比如,如何兼容传统网络架构,容器网络如何与已有的基础实施互通互联,如 ...

  5. 基于matlab实现的云模型计算隶属度,基于MATLAB实现的云模型计算隶属度

    "云"或者'云滴'是云模型的基本单元,所谓云是指在其论域上的一个分布,可以用联合概率的形式(x, u)来表示 云模型用三个数据来表示其特征 期望:云滴在论域空间分布的期望,一般用符 ...

  6. 云班课python测试答案_智慧职教云课堂APPPython程序设计题目答案

    [单选] 负责完善供电可靠性管理手段,推广带电作业等方式,及时满足客户接电需求的部门是() [填空题] ()是全球化背景下的一种混合的政治主张和意识形态,或者更准确地说,它是一个政治口号. [单选] ...

  7. AdaFit:一种对基于学习的点云法线估计方法的新思考(ICCV2021)

    AdaFit: Rethinking Learning-based Normal Estimation on Point Clouds (2021-ICCV) 代码地址:https://github. ...

  8. 峰值云变换matlab代码,一种基于密度峰值的云变换方法与流程

    本发明涉及一种基于密度峰值的云变换方法,属于数字图像数据处理技术. 背景技术: 粒计算是基于多层次粒结构研究思维方式.问题求解方法.信息处理模式的理论,早在1997年,Zadeh教授就提出了粒计算是模 ...

  9. 论文学习笔记(4):Intrinsic and Isotropic Resampling for 3D Point Clouds(内在控制的各向同性3D点云重采样)

    Intrinsic and Isotropic Resampling for 3D Point Clouds(内在控制的各向同性3D点云重采样) 文章目录 Intrinsic and Isotropi ...

最新文章

  1. Python爬虫利器之Beautiful Soup的用法,以及实例!
  2. SAP MM Movement Type 503的使用
  3. DFT实训教程笔记2(bibili版本)- Scan synthesis practice
  4. STL源代码分析(ch2 内存分配)uninitialized_fill_n
  5. nyoj-976-Youth的最大化(贪心+二分)
  6. Python+Opencv测量物体之间的距离
  7. php 判断是否文件,利用PHP判断文件是否为图片的方法总结
  8. Android之文件读写
  9. python读取邮箱邮件_Python读取邮箱邮件
  10. The word 'localhost' is not correctly spelled 这个问题怎么解决
  11. java udp传输文件6_文件传输udpjava数据
  12. 这可能是目前最全的word转pdf的一些方法总结
  13. python multiprocessing dummy Pool 使用
  14. 小武与剑指offer的恩怨情仇
  15. 微信旧岛小程序章节目录
  16. bitcoin(1)
  17. 【Python面向对象编程】第11篇 特殊方法之__str__和__repr__
  18. 基于python的watershed algorithm
  19. 关于SX1262IMLTRT、SX1261、SX1268选型指南分析对比
  20. VirtualBox共享PCI设备

热门文章

  1. 商城数据库表设计介绍
  2. Linux操作系统下文件作用
  3. 打开word出现“您正试图运行的函数包含有宏或需要宏语言支持的内容。”的解决方法
  4. java正则表达式 匹配%号_java正则表达式匹配带有括号的电话号为什么匹配不上...
  5. C++ 如何获取数组的长度
  6. Resource entery xx is already defined
  7. CountDownTimer 实现验证码倒计时
  8. Glide 加载圆形头像和gif 图
  9. Python核心编程学习笔记(一)
  10. springboot-6-整合jdbc