Open3d学习计划——12(Jupyter 可视化)

Open3d学习计划——12(Jupyter 可视化)

欢迎大家关注“点云PCL”公众号,进入群聊一起学习。

从0.4.0版本开始,我们通过webGL添加了对Jupyter的实验性支持.如果从pip或者conda安装Open3d的话,jupyter支持会默认开启.如果从源码安装Open3d的话,请设置Python绑定环境,了解如何建立Jupyter支持的Open3d.
要注意的是,Jupyter可视化依然处于早期的实验性阶段,以下是主要的限制.

  1. 只支持点云数据.
  2. 相机是用固定参数初始化的,因此初始化的视角对于点云可能不是最优的.
  3. 性能没有优化.

控制

  • 鼠标滚轮:放大/缩小
  • 鼠标左键拖动:轴旋转
  • 鼠标右键拖动:平移

使用例程

Jupyter可视化被定义为 JVisualizer 类.初始化这个类,然后调用 add_geometry 去添加Open3d几何;类型,之后调用 show 将其显示在Jupyter部件上.


import numpy as np
import open3d as o3d
from open3d import JVisualizer

points = (np.random.rand(1000, 3) - 0.5) / 4
colors = np.random.rand(1000, 3)

pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(points)
pcd.colors = o3d.utility.Vector3dVector(colors)

visualizer = JVisualizer()
visualizer.add_geometry(pcd)
visualizer.show()

如果点云是不可见的(由于相机的初始参数),可以通过鼠标缩放来将其移动到合适的视角.

关于Jupyter可视化之前有过尝试,因为数据在服务器上,想通过这种方式直接在个人电脑上查看数据,但是效果并不好,一方面是视角问题,另一方面是性能问题,很卡顿,并且当点的数量过多的时候,点云半天显示不出来.
如果大家有好的远程查看的点云数据的方式,欢迎评论留言交流.

关于翻译大家有更好的意见欢迎评论一起学习!!!

欢迎大家加入知识星球一起学习。

在这里插入图片描述

open3d是一个用于处理三维数据(点云、三维模型等)的开源库。点云配准是将两个或多个点云数据进行对齐的过程,以便在一个全局坐标系下进行比较、分析或重建。其,四元数法是一种常用的点云配准方法。 四元数是一种用四个实数表示的扩充复数,可以用于描述旋转变换。在点云配准使用四元数法是因为其具有以下优势: 第一,四元数具有紧凑的表示形式,只需要四个实数即可表示旋转变换,相较于旋转矩阵的九个实数表示方式节省了存储空间,降低了计算复杂度。 第二,四元数法能够有效地避免了“万向锁”问题。万向锁是指在使用欧拉角进行坐标变换时,由于旋转过程会出现奇点,导致旋转角度无法精确表示的问题。而四元数法不会出现这个问题,具有更好的数值稳定性。 在open3d,点云配准的四元数法通常有以下几个步骤: 首先,计算两个点云之间的特征描述子,例如FPFH(Fast Point Feature Histograms)或SHOT(Signature of Histograms of Orientations)。这些描述子能够表示点云的局部几何信息。 然后,根据特征描述子的相似性,寻找初始的点对应关系。 接下来,通过最小化点云之间的误差指标,例如最小化点到平面的距离或最小化点到点的距离,来优化点对应关系,并计算出旋转矩阵。 将旋转矩阵转换为四元数表示,即可完成点云的配准过程。 四元数法是open3d常用的点云配准方法之一,其能够高效地实现点云的准确对齐。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值