点云数据(激光雷达)显示python代码
点云数据显示是查看点云数据及感性认识必不可少的一个环节。因为在实际场景中,可能会涉及到很多的算法步骤,处理结果是不是我们自己想要的,就需要查看点云数据。
为此,我将以此博客记录如何使用python代码实现点云数据的显示,如下:
复制即可使用代码如下:
import numpy as np import mayavi.mlab import os def build_dir(root): if not os.path.exists(root): os.makedirs(root) return root def visul_velodyne(velodyne_root, save_path=None, show=False): # 000010.bin这里需要填写文件的位置 pointcloud = np.fromfile(velodyne_root, dtype=np.float32, count=-1).reshape([-1, 4]) print(pointcloud.shape) x = pointcloud[:, 0] # x position of point y = pointcloud[:, 1] # y position of point z = pointcloud[:, 2] # z position of point r = pointcloud[:, 3] # reflectance value of point d = np.sqrt(x ** 2 + y ** 2) # Map Distance from sensor vals = 'height' if vals == "height": col = z else: col = d fig = mayavi.mlab.figure(bgcolor=(0, 0, 0), size=(640, 500)) # fig = mayavi.mlab.figure(bgcolor=(0, 0, 0), size=(1908, 1024)) mayavi.mlab.points3d(x, y, z, col, # Values used for Color mode="point", colormap='spectral', # 'bone', 'copper', 'gnuplot' # color=(0, 1, 0), # Used a fixed (r,g,b) instead figure=fig, ) x = np.linspace(5, 5, 50) y = np.linspace(0, 0, 50) z = np.linspace(0, 5, 50) mayavi.mlab.plot3d(x, y, z) if save_path is not None: mayavi.mlab.savefig(filename=save_path) # 保存图片 filename为“.../../*.png” if show: mayavi.mlab.show() if __name__ == '__main__': velodyne_file = r'F:\ThrDet\data\kitti_d\training\velodyne' for name in os.listdir(velodyne_file): if name[-3:] == 'bin': velodyne_root = os.path.join(velodyne_file, name) out_dir = build_dir(os.path.join(velodyne_file, 'out_dir')) save_path = os.path.join(out_dir, name[:-3] + 'png') visul_velodyne(velodyne_root, save_path=save_path, show=True)
代码测试结果显示如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!