任务
在Windows10系统下,用python,在jupyter notebook,运用Open3D实现3D图像的多角度点云拼接形成整个点云,给临近点云上色,法向量估计,用无结构的点云数据、滚球法三角片面生成结构化数据Mesh。
目录
ⅠOpen3D安装
Open3D点云处理相关知识点的视频教程:bilibili.com/video/BV17N411f7nk?from=search&seid=4410565061453053310
安装:pip3 install open3d
查看安装包:pip list
Ⅱ查看点云文件
o3d.io.read_point_cloud()从文件读取点云。 它尝试根据扩展名对文件进行解码。 支持的扩展名是:pcd,ply,xyz,xyzrgb,xyzn,pts。
r在文件路径前,表示raw生数据,是啥就是啥,不要转义。 如:\t表示空出一个tab键的位置,即4个空格;\r表示换行符 ;\表示字符串行尾的续行符,即一行未完,转到下一行继续写
使用draw_geometries可视化点云,然后按n查看法线,使用鼠标/触控板从不同的角度查看几何。 键-和键+可用于控制法线的长度。
draw_geometries(geometry_list,window_name=’Open3D’,width=1920,height=1080,left=50,top=50,point_show_normal=False,mesh_show_wireframe=False,mesh_show_back_face=False)
geometry_list ( List [ open3d.geometry.Geometry ] ) – 要可视化的几何体列表。
window_name ( str , optional , default='Open3D' ) – 可视化窗口的显示标题。
width ( int , optional , default=1920 ) – 可视化窗口的宽度。
height ( int , optional , default=1080 ) – 可视化窗口的高度。
left ( int , optional , default=50 ) – 可视化窗口的左边距。
top ( int , optional , default=50 ) – 可视化窗口的顶部边距。
point_show_normal ( bool , optional , default=False ) – 如果设置为 true,则可视化点云法线。
mesh_show_wireframe ( bool , optional , default=False ) – 如果设置为 true,则可视化网格线框。
mesh_show_back_face ( bool , optional , default=False ) – 也可视化网格三角形的背面。
import open3d as o3d
import numpy as np
print("open3d read point cloud")
pcd1=o3d.io.read_point_cloud(r"3d/bunny/data/top2.ply")
pcd2=o3d.io.read_point_cloud(r"3d/bunny/data/bunny10k.ply")
pcd3=o3d.io.read_point_cloud(r"3d/bunny/data/chin.ply")
pcd4=o3d.io.read_point_cloud(r"3d/thu_statue.ply")
print(pcd1,pcd2,pcd3,pcd4,sep="\n")
o3d.visualization.draw_geometries([pcd1],width=800,height=600)
o3d.visualization.draw_geometries([pcd2],width=800,height=600)
o3d.visualization.draw_geometries([pcd3],width=800,he

本文档详细介绍了在Windows10环境下,如何使用Python和Open3D库在Jupyter Notebook中处理3D点云数据,包括点云的读取、邻近点上色、法向量估计、生成结构化Mesh以及三角片面生成等步骤。

被折叠的 条评论
为什么被折叠?



