PCD 文件格式
PCL——(3)PCD(點云數據)文件格式簡介 - 一抹煙霞 - 博客園 (cnblogs.com)
The PCD (Point Cloud Data) file format — Point Cloud Library 1.12.1-dev documentation (pointclouds.org)
Example
A snippet of a PCD file is attached below. It is left to the reader to interpret the data and see what it means. :) Have fun!:
# .PCD v.7 - Point Cloud Data file format VERSION .7 FIELDS x y z rgb SIZE 4 4 4 4 TYPE F F F F COUNT 1 1 1 1 WIDTH 213 HEIGHT 1 VIEWPOINT 0 0 0 1 0 0 0 POINTS 213 DATA ascii //有的格式是二進制binary 需要轉換好處理。 二進制大小是assic的一半左右 0.93773 0.33763 0 4.2108e+06 //里面有空格 0.90805 0.35641 0 4.2108e+06 0.81915 0.32 0 4.2108e+06 0.97192 0.278 0 4.2108e+06 0.944 0.29474 0 4.2108e+06 0.98111 0.24247 0 4.2108e+06 0.93655 0.26143 0 4.2108e+06 0.91631 0.27442 0 4.2108e+06 0.81921 0.29315 0 4.2108e+06 0.90701 0.24109 0 4.2108e+06 0.83239 0.23398 0 4.2108e+06 0.99185 0.2116 0 4.2108e+06單個PCD文件是lidar 旋轉一圈/一個掃描周期的一幀數據 集合。
? ? ? ??
6、WIDTH 指定數據點的寬度
包含兩個含義:
? ? 1.無序點云中點的總個數(與POINTS相同)。
? ? 2.有序點云數據的寬度((一行中連續點的總數,或者叫列數)。
注:有序點云數據集中,點云類似圖片或矩陣的結構,分為行和列,這種數據通常來自于立體攝像機、時間飛行攝像機等。知道點的相鄰關系,使算法計算更高效。
7、HEIGTH 點云高度
它包含兩個含義:
? ? 1.有序點云數據的高度(總行數)。
? ? 2.無序點云中,它被設置為1。(一般PCD文件是1)
所以可以根據這個數值判斷點云是有序的還是無序的
8、POINTS 指定點云中點的總個數
一般好幾萬
''' use pclpy lib : pcd中binary轉ascii'''import pclpy import numpy as np import cv2 pcd_src_path='DATA/try.pcd.pcd' pcd_dst_path='DATA/553_ascii.pcd' pcl_file = pclpy.pcl.PointCloud.PointXYZI() pclpy.pcl.io.loadPCDFile(pcd_src_path, pcl_file) pclpy.pcl.io.savePCDFileASCII(pcd_dst_path, pcl_file)點云坐標系:
PCD 文件,header中有定義,起始的原點
VIEWPOINT有可能在不同坐標系之間轉換的時候應用,在輔助獲取其他特征時也比較有用,例如曲面法線,在判斷方向一致性時,需要知道視點的方位.
視點信息被指定為平移(txtytz)+四元數(qwqxqyqz)。默認值是:VIEWPOINT 0 0 0 1 0 0 0
沒有旋轉和平移
坐標系:圖片VS點云
關于圖片:
- 圖片的坐標值恒為正;
- 圖像坐標原點在圖片左上角;
- 坐標值為整數
- x軸向右,y軸向下
關于點云坐標:
- 點云的坐標值有正有負;
- 點云值為真實的數值;
- x軸(深度)向前,y軸向左,z軸(高度)向上;
攝像頭外參內參矩陣:世界坐標系,相機坐標系和圖像坐標系的轉換(Python) - 灰信網(軟件開發博客聚合) (freesion.com)
總結
- 上一篇: 项目四:学生信息管理系统
- 下一篇: python连接MongoDB