第十一章:open3D的使用

基础:安装pip3 install open3d        查看安装包:pip list

一.多角度点云拼接在一起生成整个点云

bunny10k.ply

第十一章:open3D的使用_第1张图片

import open3d as o3d
import numpy as np

print("Open3D read Point Cloud")
pcd=o3d.io.read_point_cloud(r"/Users/air/Desktop/bunny10k.ply")#替换为自己的兔兔的路径#
print(pcd)

o3d.visualization.draw_geometries([pcd],width=800,height=600)

运行结果为:

第十一章:open3D的使用_第2张图片

运行显示:

 PS:按ctrl+-号可以减少点云的体素尺寸,ctrl++放大

二.Open3d的近邻搜索 

贴着表面去找 可以做到降噪

import open3d as o3d
import numpy as np

print("Open3D read Point Cloud")
pcd = o3d.io.read_point_cloud(r"/Users/air/Desktop/bunny10k.ply")
pcd.paint_uniform_color([0.5, 0.5, 0.5])#颜色可以设置为灰色#

pcd_tree = o3d.geometry.KDTreeFlann(pcd)#open3d里最重要的几何一套 贴着近邻平面去找#
pcd.colors[100] = [1, 0, 0]#把第100个点色彩设置为红#

[k, idx, _] = pcd_tree.search_knn_vector_3d(pcd.points[100],100)#以点源数据的第100个点找数据#
np.asarray(pcd.colors)[idx[1:], :] = [0, 1, 0]#返回找到的点的坐标,把周围100个点色彩设置成绿色#

o3d.visualization.draw_geometries([pcd],width=1200,height=1000)#实现三维空间的可视化#

运行结

你可能感兴趣的:(python,html5)