doc-open3d.md 3.1 KB

Geometry

point cloud!!!

open3d.data.PointCloud内部数据:

 |  Data descriptors defined here:
 |
 |  colors
 |      ``float64`` array of shape ``(num_points, 3)``, range ``[0, 1]`` , use ``numpy.asarray()`` to access data: RGB colors of points.
 |
 |  covariances
 |      ``float64`` array of shape ``(num_points, 3, 3)``, use ``numpy.asarray()`` to access data: Points covariances.
 |
 |  normals
 |      ``float64`` array of shape ``(num_points, 3)``, use ``numpy.asarray()`` to access data: Points normals.
 |
 |  points
 |      ``float64`` array of shape ``(num_points, 3)``, use ``numpy.asarray()`` to access data: Points coordinates.
 |

Voxel downsampling!!!

可用于减少计算量。

crop point cloud!!!

用一个立体的多边形polygon(用一个json数据描述)对点云做裁剪。这个json数据的规则呢?

Convex hull!!!

DBSCAN clustering

对点云聚类,给每个点加上一个标签属性,-1表示噪点。参数:同类别中相邻点的距离、一个类别最少包含多少个点。

计算量大!

Plane segmentation

找到潜在的平面,把点云中各个点分类到不同的平面上。系用最小二乘法近似。

planar patch detection

类似上一条,但找到的不是无限的平面而是平的有边界的“片”。

Hidden point removal

在某个视角查看点云时,把按理说会在点云所代表的物体的背面的那些点去掉。

mesh

mesh filtering

对mesh表面做滤波,效果可以是让mesh表面变得光滑一些。

Sampling

对mesh表面采样形成点云。

Mesh subdivision

把各个三角形拆成更小的三角形,从而让mesh表面更圆滑。

Mesh simplification

把mesh表面三角形变大,从而让mesh表面更粗糙更简单。

Connected components

把各个三角形按连通与否分组。进而能够知道每个组的大小。

Point cloud outlier removal

去除点云中的噪声

Voxelization

点云和mesh都可以素格化。

进而可以知道给定点是否在素格以内。

voxel carving

用点云和mesh得到的素格都在物体表面。用深度图则可以carve出实心的一堆素格。

Surface reconstruction

就是从点云得到mesh。

alpha shapes!!!!

点云内部也可以挖空。

得到的mesh可能不封闭。

ball pivoting!!!

要求点云有法线(normals)信息。

封闭????

Poisson surface reconstruction

要求点云有法线(normals)信息。

得到的mesh可能不封闭。

Normal estimation

用于给点云加上法线信息。可以用一个方法使各点的法线协调起来。

Ray Casting

创建一个场景,里边放些几何物,设置一个光线的远点和方向,能得到光线与几何物的交汇点。

Distance Queries

用于知道给定的一个点到mesh的最短距离,以及这个点是否在mesh内部。!!!!

python interface

用help(o3d.xxx.yyy)获取某个API的文档。!!!

Working with Numpy

Visualization

interactive_visualization.py