python 解析 velodyne 16线雷达 pcap 文件

主要使用了 dpkt 解析的pcap 文件,然后按照 velodyne 的协议解析UDP数据,window运行,不依赖ros, 话不多说,直接上代码吧

# -*- coding: UTF-8 -*-
import dpkt
import collections  # 有序字典需要的模块
import time
import numpy as np
import struct



# 如果安装了pcl , 可以使用它来进行可视化
# import pcl.pcl_visualization
# viewer = pcl.pcl_visualization.PCLVisualizering()
# viewer.SetBackgroundColor(0, 0, 0)
# viewer.AddCoordinateSystem()
# viewer.InitCameraParameters()






# vlp 16 的参数
DISTANCE_RESOLUTION = 0.002   # 距离数值分辨率 转换为单位米
udp_package_num = 1
line_per_udp = 12        # 每个UDP 有多少列
point_per_udp_line = 32  # 每个UDP 的每列包含有多少个点
point_num_per_udp = point_per_udp_line * line_per_udp  # 32*12=384

thetas_point = thetas_lines * 2 * line_per_udp * udp_package_num
thetas_point = np.radians(thetas_point)
thetas_point_cos = np.cos(thetas_point)
thetas_point_sin = np.sin(thetas_point)


base_range = np.array(range(2, point_per_udp_line

你可能感兴趣的:(点云-激光雷达处理代码合集,python为主,c++,python)