matlab 行 读取文件 跳过_用Matlab处理LAS点云(1)——LAS文件概述
1.引言
點云數據的常用存儲格式不多,對于作者來說,點云文件就分兩大類,一類是如.xyz格式的文件,可以用Win系統的記事本直接打開,因此通常不存在讀取問題;另一類就是今天要說的.las格式為代表的不能直接打開的點云。las格式的點云是目前非常常見的點云格式,除了使用成熟的軟件以外,可處理性較差,網上可以搜索到不少用python、C等計算機語言讀取las的算法,但是在沒有計算機語言基礎的情況下,想修改這些算法按照自己的要求輸出數據難度較大。本文分步介紹如何基于Matlab編寫las文件處理算法,幫助點云處理相關領域初學者能夠盡早入門。
本文所有翻譯均為作者直譯,如有不妥之處各位見諒。
2.什么是las文件
las文件是American Society for Photogrammetry and Remote Sensing (ASPRS)提出的一種用于用戶之間共享數據的點云格式,這種文件格式有很多優勢,有興趣的讀者自行搜索,本文不再贅述。目前該文件格式更新至v1.4 R15版本,越新的版本信息越多。本文使用1.3版本的點云作為示范,只讀取點云的常用信息,但是看完本系列內容后,處理1.4版本的點云以及讀取所有信息是絕對沒有問題的。
3.las文件結構
第一個重點來了,我們首先要搞清楚las文件里到底存了什么,以及是怎么存的,才能找到我們想要的數據。las文件包括以下幾個部分:
- Public Header Block
公共頭塊。這個名字說明了,所有點云數據都需要有這些信息,通過這些信息能夠對所處理的點云有初步的了解。在這個Block內,包含了如下信息:
圖1 公共頭塊信息紅色項目為本文MATLAB讀取點云數據時所用到的數據。
- Variable Length Records
可變長度記錄區。主要是記錄采集點云數據的用戶的信息,對于我們使用MATLAB讀取數據沒有影響,故暫時跳過,后續有必要會另行講解。
- Point Data Records
點數據記錄。根據公共頭塊中“點數據記錄格式”有0-5共6種,本文只介紹format 0這一種記錄格式,其他記錄格式均是在format 0的基礎上增減信息,format 0格式包含以下數據:
圖2 format 0格式的點數據記錄區信息此處注意:8bits = 1byte,后續會用到此轉換關系。
真實XYZ坐標按以下公式計算:
坐標 = 采集值×比例因子+偏移值
各個方向使用對應方向的值即可。
作者默認各位看官對于點云中的各種數據的定義很清楚,所以不做過多介紹,如有不懂的可以先自行搜索,再不懂的歡迎留言,作者盡力解答。
4.小結
本文介紹了LAS文件的基本文件結構,延申拓展部分會在后續文章中依次介紹,下一篇文章主要介紹使用MATLAB從本節的LAS文件結構中讀取數據所需要使用的函數及其用法。
第一次寫教程還是有點小激動的,文筆不好見諒吼,內容如有錯誤歡迎指正,我一定改!
文章相關問題歡迎留言,作者看到后會一一作答。
文章無關問題歡迎付費咨詢,作者收錢后會一一作答。(大霧,激動的搓搓小手)
總結
以上是生活随笔為你收集整理的matlab 行 读取文件 跳过_用Matlab处理LAS点云(1)——LAS文件概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 路由器局域网设置_路由器基础介绍
- 下一篇: 网络中的计算机如果加入家庭组,win10