python点云可视化

Posted Coding的叶子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python点云可视化相关的知识,希望对你有一定的参考价值。

Python三种点云可视化方案:mayavi、matplotlib、CloudCompare。

方案一:mayavi可视化点云

安装方式:

pip install mayavi

可视化代码:其中'airplane_0001.txt'数据下载地址为:modelnet40点云样例数据-深度学习文档类资源-CSDN下载

from mayavi import mlab
import numpy as np

def viz_mayavi(points):
    x = points[:, 0]  # x position of point
    y = points[:, 1]  # y position of point
    z = points[:, 2]  # z position of point
    fig = mlab.figure(bgcolor=(0, 0, 0), size=(640, 360)) #指定图片背景和尺寸
    mlab.points3d(x, y, z,
                         z,          # Values used for Color,指定颜色变化依据
                         mode="point",
                          colormap='spectral', # 'bone', 'copper', 'gnuplot'
                         # color=(0, 1, 0),   # 也可以使用固定的RGB值
                         )
    mlab.show()
points = np.loadtxt('airplane_0001.txt', delimiter=',')
viz_mayavi(points)

显示结果:

 方案二、matplotlib可视化点云

代码如下所示:

import matplotlib.pyplot as plt
import numpy as np

def viz_matplot(points):
    x = points[:, 0]  # x position of point
    y = points[:, 1]  # y position of point
    z = points[:, 2]  # z position of point
    fig = plt.figure()
    ax = fig.add_subplot(111, projection='3d')
    ax.scatter(x,   # x
               y,   # y
               z,   # z
               c=z, # height data for color
               cmap='rainbow',
               marker="x")
    ax.axis()
    plt.show()

    
points = np.loadtxt('airplane_0001.txt', delimiter=',')
viz_matplot(points)

显示结果:

 方案三、CloudCompare可视化点云

直接用软件打开,无需安装。CloudCompare下载地址:CloudCompare点云可视化软件-深度学习文档类资源-CSDN下载

显示结果:

 Mayavi常用函数

from mayavi import mlab

fig = mlab.figure(bgcolor=(0, 0, 0), size=(640, 360)) #指定图片背景和尺寸

mlab.points3d(x, y, z,
              z,          # Values used for Color,指定颜色变化依据
              mode="point",
              colormap='spectral', # 'bone', 'copper', 'gnuplot'
              # color=(0, 1, 0),   # 也可以使用固定的RGB值
               )

opacity=1.0  # 不透明度,取值范围0-1。0.0表示完全透明,1.0表示完全不透明
color=(1, 1, 1)  # RGB数值,每个数的取值范围均为0-1。例:(1, 1, 1)表示白色。
colormap='spectral'  #  不同的配色方案

mlab.show()#显示结果

# 2D data
img = xxxx  # img is a 2D nunmpy array
mlab.imshow(img) #显示二维结果
mlab.surf()
mlab.contour_surf()
mlab.mesh()             #将物体表面以网格(mesh)的形式展示出来,即坐标空间的网格化。# 参数:representation = 'wireframe' 可以仅绘制线框。
# 参数:representation = 'surface' 为default值,绘制完整曲面。mlab.mesh(x, y, z, representation='wireframe', line_width=1.0 )

python三维点云研究计划_Coding的叶子的博客-CSDN博客_python 三维点云将按照以下目录持续进行更新……点云格式介绍、点云可视化、点云投影、生成鸟瞰图、生成前视图、点云配准、点云分割、三维目标检测、点云重建、深度学习点云算法……https://blog.csdn.net/suiyingy/article/details/124017716更多三维、二维感知算法和金融量化分析算法请关注“乐乐感知学堂”微信公众号,并将持续进行更新。

Python三维点云可视化代码

点击查看:Python三维点云可视化代码

文件大小:58M

操作系统:Windows10旗舰版

开发工具:Python

开发语言:.py

简要概述:

安装依赖

pip install numpy --user

pip install mayavi --user

pip install PyQt5 --user

运行代码

python3 main.py

在这里插入图片描述
在这里插入图片描述

以上是关于python点云可视化的主要内容,如果未能解决你的问题,请参考以下文章

爆肝5万字❤️Open3D 点云数据处理基础(Python版)

python如何实现点云可视化交互——Open3D实例教程(获取所选点的信息)保姆级教学

点云可视化-点击显示点坐标

『OPEN3D』1.1 点云处理 python篇

点云处理技术之open3d第二篇:点云的基本操作篇——可视化降采样法向量裁剪和绘制点云

Open3d - 将多个点云可视化为视频/动画