python open3d点云可视化(本节会根据实际所用持续更新)

        为了便于加强对点云数据的直观认识,前几章都是直接用with open来读取数据,这样能够更加直观地看到底层原始数据。点云可视化用到了mayavi,这个在点云展示方面比较好用。

        现在,为了提高代码编写效率,暂时使用open3d作为点云处理的基本工具。这个主要在于open3d安装比较简单,第一章里已经有介绍过。

        本节重点介绍open3d的点云可视化函数,函数名称为o3d.visualization.draw_geometries。

1 open3d.visualization.draw_geometries

1.1 参数介绍

参数
1、geometry_list (List[open3d.geometry.Geometry]) – 待显示的pcd点云格式列表

2、window_name (str, optional, default='Open3D') – 窗口名称

3、width (int, optional, default=1920) – 窗口宽度

4、height (int, optional, default=1080) – 窗口高度

5、left (int, optional, default=50) – 窗口左侧留白宽度

6、top (int, optional, default=50) – 窗口上方留白高度

7、point_show_normal (bool, optional, default=False) – 是否显示法向量

8、mesh_show_wireframe (bool, optional, default=False) – 是否可视化网格线框

9、mesh_show_back_face (bool, optional, default=False) – 是否可视化三角网格背面

1.2 示例代码

        数据源可以参考pcd格式点云样例文件-深度学习文档类资源-CSDN下载。如果需要显示法向量,可以参考点云法向量_Coding的叶子的博客-CSDN博客。

# -*- coding: utf-8 -*-
"""
乐乐感知学堂公众号
@author: https://blog.csdn.net/suiyingy
"""
import open3d as o3d

if __name__ == '__main__':
    file_path = 'rabbit.pcd'
    pcd = o3d.io.read_point_cloud(file_path)
    print(pcd)
    pcd.paint_uniform_color([0, 0, 1])#指定显示为蓝色
    #点云显示
    o3d.visualization.draw_geometries([pcd],#待显示的点云列表
                                      window_name="点云显示",
                                      point_show_normal=False,
                                      width=800,  # 窗口宽度
                                      height=600)  # 窗口高度

1.3 显示结果

python open3d点云可视化(本节会根据实际所用持续更新)_第1张图片

2 指定显示颜色:paint_uniform_color

        指定颜色的使用方式如下,根据名称可以看到,颜色的显示是归一化的,即rgb分量在0~1之间,对应像素值为0~255。代码和显示效果请参考第一部分。open3d的pcd点云格式中会为

pcd1.paint_uniform_color([r, g, b])

        open3d的pcd点云格式中会为每个点分配一个颜色,转换为矩阵后其维度为Nx3。N表示点的数量,3表示rgb归一化取值。因此,通过对pcd.colors进行设置,可以对每个点的颜色进行任意改变。示例如下所示:

colors = np.array(pcd.colors)
colors[inliers] = [0, 0, 1]#平面内的点设置为蓝色
pcd.colors = o3d.utility.Vector3dVector(colors[:, :3])

python点云可视化_Coding的叶子的博客-CSDN博客_python可视化点云Python三种点云可视化方案:mayavi、matplotlib、CloudCompare。https://blog.csdn.net/suiyingy/article/details/124015667

python三维点云从基础到深度学习_Coding的叶子的博客-CSDN博客_3d点云 python从三维基础知识到深度学习,将按照以下目录持续进行更新。https://blog.csdn.net/suiyingy/article/details/124017716

更多三维、二维感知算法和金融量化分析算法请关注“乐乐感知学堂”微信公众号,并将持续进行更新。

你可能感兴趣的:(三维点云,python,数据集,open3d,python,点云可视化)