Open3D还支持使用RANSAC从点云中分割几何图元。 要查找点云中最有可能存在的平面,我们使用segement_plane函数。 该方法具有三个参数:destance_threshold定义了一个点到一个估计平面的最大距离,这些距离内的点被认为是内点(inlier),ransac_n定义了使用随机抽样估计一个平面的点的个数,num_iterations定义了随机平面采样和验证的频率(迭代次数)。这个函数返回(a,b,c,d)作为一个平面,对于平面上每个点(x,y,z)我们有ax+by+cz+d=0。这个函数还会返回内点索引的列表。

代码展示

# -*-coding:utf-8 -*-
import os
import open3d as o3d
import numpy as nptest_data_dir = '/home/pi/PycharmProjects/learn/Open3D/examples/test_data'
point_cloud_file_name = 'fragment.pcd'
point_cloud_file_path = os.path.join(test_data_dir, point_cloud_file_name)
# 读取点云
pcd = o3d.io.read_point_cloud(point_cloud_file_path)
# 平面分割
plane_model, inliers = pcd.segment_plane(distance_threshold=0.01,ransac_n=3,num_iterations=1000)
# 模型参数
[a, b, c, d] = plane_model
print(f"Plane equation: {a:.2f}x + {b:.2f}y + {c:.2f}z + {d:.2f} = 0")
# 平面内的点
inlier_cloud = pcd.select_by_index(inliers)
inlier_cloud.paint_uniform_color([1.0, 0, 0])
# 平面外的点
outlier_cloud = pcd.select_by_index(inliers, invert=True)
# 可视化
o3d.visualization.draw_geometries([inlier_cloud, outlier_cloud],zoom=0.8,front=[-0.4999, -0.1659, -0.8499],lookat=[2.1813, 2.0619, 2.0999],up=[0.1204, -0.9852, 0.1215])

效果展示

Open3d之点云平面分割相关推荐

  1. 29 基于PCL的点云平面分割拟合算法技术路线(针对有噪声的点云数据)

    0 引言 最近项目中用到了基于PCL开发的基于平面的点云和CAD模型的配准算法,点云平面提取采用的算法如下. 1 基于PCL的点云平面分割拟合算法 2 参数及其意义介绍 (1)点云下采样 1. 参数: ...

  2. PCL下使用区域增长算法进行点云平面分割的实现

    首先求解三维点云的法线和曲率 这里要注意要让法线朝向一致,运用的是视点与法线夹角是锐角的方法 可以看见算法很好的分离了桌面,因为桌面的法线一致性很好,但地面的噪点就比较多了,划分的效果也是不太好 查看 ...

  3. Open3D 三维点云读取可视化、下采样、去除离群点、地面提取

    Open3D:3D数据处理的现代库,是一个开放源代码库,支持快速开发处理3D数据的软件.Open3D在C ++和Python中公开了一组精心选择的数据结构和算法.后端经过高度优化,并支持并行化. 推荐 ...

  4. 3.Open3D教程——点云数据操作

    点云数据 本教程阐述了基本的点云用法. 随需要的文件链接 1. 显示点云 import open3d as o3d import numpy as npprint("Load a ply p ...

  5. 三维点云语义分割总览

    点云PCL免费知识星球,点云论文速读. 标题:三维点云语义分割总览 作者:吉祥街 欢迎各位加入免费知识星球,获取PDF文档,欢迎转发朋友圈,分享快乐. 希望有更多的小伙伴能够加入我们,一起开启论文阅读 ...

  6. pcl 平面分割 RANSAC

    点云分割 https://www.cnblogs.com/xingshansi/p/6763668.html 一.RANSAC理论介绍 普通最小二乘是保守派:在现有数据下,如何实现最优.是从一个整体误 ...

  7. 3d激光雷达开发(平面分割)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 平面分割是点云数据经常需要处理的一个功能.在很多场景下面,平面数据都是没有用的.这个时候需要考虑 ...

  8. 大场景三维点云语义分割模型

    大场景三维点云语义分割模型 基于2D的方法 SqueezeSeg系列 一.简介 二.核心思路总结 三.要点分析 四.总结 VIASEG: VISUAL INFORMATION ASSISTED LIG ...

  9. Open3d系列 | 1. Open3d实现点云数据读写、点云配准、点云法向量计算

    如有错误,恳请指出. 从这一篇博客开始,开始利用Open3d来处理点云数据.之后将围绕点云数据的多种处理方式来记录笔记.本篇博客的内容包括点云的文件格式介绍,点云数据的读取,以及点云的配准与点云的法向 ...

最新文章

  1. html设置页面大小_如何将Word文档页面大小设置为16开?
  2. .net core webapi 部署windows server 2008 r2 笔记
  3. 腾讯云前端性能优化大赛火热招募中!
  4. securecrt是什么工具_比较一下几款常用的SSH工具
  5. at指令返回值检验c语言,学渣求指教,如何识别字符串中的AT命令并逐个输出,求程序!!!...
  6. 成为优秀程序员应该具备的8个特质
  7. argis中4波段影像变3波段
  8. 推荐系统遇上深度学习(四)--多值离散特征的embedding解决方案
  9. 单播 广播 组播_组播概念3
  10. html怎么设置文字竖排,CSS文字竖排
  11. 学习UI设计需要具备什么条件
  12. java架构师全套图解,使用/教程/实例
  13. X3D代码理解之demo(cfg)
  14. 去掉input记录密码时的背景颜色
  15. teamviewer 使用数量到达上限_Teamviewer使用新问题之:同一账号在不同设备上使用已达上限...
  16. 界面美化 —— 布局
  17. Python网络爬虫与信息提取(17)—— 题库爬取与整理+下载答案
  18. 项目管理笔记-第十二章 项目采购管理
  19. 【HTTP API】简单的http签名算法
  20. 牛客练习赛24 B 凤 凰

热门文章

  1. 集合类之番外篇:深入解析HashMap、HashTable
  2. Centos7配置Samba服务实现与Windows文件共享
  3. Ubuntu下OpenResty搭建高性能服务端
  4. 使用fail2ban防止暴力破解ssh及vsftpd密码
  5. yum安装:zabbix-web-4.2.8-1.el7.noarch: [Errno 256] No more mirrors to try
  6. 常用JDK系统环境变量配置
  7. 常用 doc bat 命令总结
  8. Excel 中 查看 当前列 最后一个不为空的值 (使用公式实现)
  9. 如何考虑程序的优化性
  10. android自定义透明圆形,Android progressdialog自定义背景透明的圆形进度条类似于Dialog...