PCL已有点类型介绍和增加自定义的点类型
博客轉載自:http://www.pclcn.org/study/shownews.php?lang=cn&id=265
本小節不僅解釋如何增加你自己的PointT點類型,也介紹了PCL中的模板point類型,以及它們的用處和定義。PCL從開始就伴隨著各種預定義的point類型,從用于XYZ數據到更復雜的n維直方圖表示法,例如PFH(點特征直方圖)。這些類型應該足夠支持在PCL中應用的算法及方法,然而,也有情況下用戶希望定義新的類型。
注意:由于PCL的快速更新,本節內容僅僅對PCL 0.x和1.x版本兼容,撰寫本文檔的時候預期在PCL 2.X中會有新的改變,但大的架構不變,只是添加些新定義的描述子等點類型之類的。
為什么用PointT類型
PCL的PointT可以追溯到它在ROS中作為開源庫被開發的時候,大家一致認為,點云是復雜的n維結構,它需要能表示不同類型的信息,然而用戶應該知道并理解需要傳送什么樣的信息,為了使代碼更易于調試,考慮優化等等,下面給出一個例子,是對XYZ數據的簡單操作,對帶SSE功能的處理器,最高效的方法是存儲3維坐標為浮點型,緊跟著一個浮點型數據作為填補位數以滿足存儲對齊要求:
struct PointXYZ { float x; float y; float z; float padding; };然而,例如當用戶在嵌入式平臺上尋找編譯PCL的時候,增加額外的填補就是浪費存儲空間了,因此,可以用一個簡單的不帶最后浮點數的PointXYZ結構來替代。此外,如果你的應用程序需要一個包含XYZ三維數據、RGB信息(顏色)和每個點的估計法線的PointXYZRGBNormal類型,定義包含以上所有內容的結構是很簡單的,由于PCL中所有的算法都是模板化的,除了更改的自定義結構之外,不需要做其他的更改,增加了代碼的重用性和可讀性。
?
敬請關注PCL(Point Cloud Learning)中國更多的點云庫PCL(Point Cloud Library)相關官方教程。
?
參考文獻:
1.朱德海、郭浩、蘇偉.點云庫PCL學習教程(ISBN 978-7-5124-0954-5)北京航空航天出版社2012-10
?
轉載于:https://www.cnblogs.com/flyinggod/p/8595760.html
總結
以上是生活随笔為你收集整理的PCL已有点类型介绍和增加自定义的点类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IoT安全系列-如何发现攻击面并进行测试
- 下一篇: 从零开始学PowerShell(3)筛选