一、從pcap文件到CSV文件
最近使用深圳速騰的LiDar16線雷達,拿到的數據是pcap格式的文件,第一步比較簡單,用雷達自帶的軟件把pcap文件導出成csv文件即可。
二、python讀取csv文件
考慮到Open3d的API
所以用Numpy讀取csv文件比較合適
所以
import numpy as np
import open3d as o3d
np.set_printoptions(suppress=True) # 取消默認的科學計數法
Data1 = np.loadtxt('E:/003.csv',dtype=np.float,skiprows=1,
delimiter=',',usecols=(0,1,2),unpack=False)
skiprows
是指跳過的行數,我這裏設爲1,因爲我的數據第一行是表頭
delimiter=','
表示數據的分隔符是逗號
usecols=(0,1,2)
表示使用第0、1、2列數據,這裏結合表的具體內容,我的表數據的三維座標是第0、1、2列數據,所以……
unpack=False
表示不把每一列當成一個向量輸出,也就是一行數據就是一個向量,如果等於True就是一列數據是一個向量。我的數據是三維座標,一行爲一個向量。
最後輸出的效果爲
三、Numpy轉Open3D
open3d官網有例程
仿照例程有
pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(Data1)
print(np.asarray(pcd.points))
o3d.visualization.draw_geometries([pcd])
然後就是你的模型~
四、保存成3d模型
最後保存成open3d、pcl等點雲庫可直接讀取的格式,比如ply、pcd
什麼的
o3d.io.write_point_cloud_cloud('E:/003.ply',pcd)
收官~