回覆列表
  • 1 # 使用者7574127844395

    PCL能用來做什麼?

    再使用之前,可以看看Tutorials, 瞭解到PCL最主要的應用模組,如濾波,特徵提取,點雲配準,kd/八叉樹資料結構,分割和重建,識別等

    怎麼上手:

    有一定的理論基礎以後,可以上手了,在編譯的時候,可以採用all in one 版本,內含編譯好的第三方庫。像exe一樣安裝就可以,有許多教程講到如何安裝。自行搜尋

    這些第三方庫裡:

    boost:C++的標準庫的備用版Eigen:用來做矩陣運算,功能強大、高速、優雅FlANN:Kd樹,鄰近點搜尋VTK:做視覺化用Qhull:凸包求取,網格計算時候有用到

    此外還有搭載了並行最佳化的PCL庫,需要自行編譯。如果不採用all in one自行編譯的話,cmake時候只要注意上述庫的路徑,編譯就不難。

    當你都能上手的時候,可以結合自己的關注點,跑跑Tutorials裡的demo,demo裡一般包含程式碼註釋,程式結果,演算法原理介紹,這樣你就基本可以用起來pcl了。

    必備理論知識:

    相機模型,座標系轉換資料結構:如kd 樹,八叉樹,半邊結構C++ 標準演算法庫:PCL很多都用到了C++ stl裡的容器

    怎麼做:

    點雲拼接: 一般利用openCV+ PCL 完成了從影象序列拼接生成場景點雲。主要涉及到對相機模型,座標系轉換等理論知識。

    點雲融合:一般發生在點雲註冊配準後,存在重疊區域,進行融合

    網格化:點雲由於只包含座標,強度,顏色資訊。而網格則需要建立點、邊、面的拓撲,也就是surface reconstruction ,存在諸多演算法。出發原理各不相同,PCL 封裝了一部分,效果因資料而異。目前常用的有Poisson reconstruction 和 greedy surface reconstruction

    視覺化:自帶的VTK只有視覺化,沒有介面及互動,必要時,還需要搭載QT做基本的互動視覺化。

    參考資料:

    《點雲庫PCL從入門到精通》 純粹是對文件的翻譯,建議看原文件《高翔SLAM14講》雖然側重SLAM, 但有些計算機視覺的基礎知識介紹

    以上。

  • 中秋節和大豐收的關聯?
  • 周公解夢夢見我哭了?