pcl是乙個比較經典的點雲處理庫,目前在工作中用到了一些。
這個庫,是乙個模組化比較不錯的模板庫,不過模組間的隔離不太好,還有boost/flann/vtk等標頭檔案或者庫檔案依賴,使用起來很不友好。還有乙個大問題,模板**編譯太慢了,實在難受。於是我重新封裝了一套**。建立了 kpointcloud , kpoint 類,用於遮蔽模板型別差異,重構整理**。
我講述一下平面擬合分割演算法,這是比較實用的演算法。我一般用於求平面平均法向量,不過也可以進行簡單物體分割。
比如桌面
使用演算法 分割出底面:
然後進行 物體座標系 轉到 世界座標系:
然後再進行 二維投影,進行 影象處理分析:
類似的其他部件的分割投影:
平面分割演算法,確實強大,能夠分割出明顯特徵的模型。
其實所有的**不多,基本上都是 命令列式的**組合:
關於 pcl和opencv,我封裝了新的 kcv/k3d 2個命名空間的**,
其中的 平面擬合分割,我封裝的api如下:
由於 opencv/pcl編譯太慢,所以,我都是用 **封裝模式,編譯成 lib/dll之後,使用非常便捷。
目前做了一些關於點雲的演算法應用,有機會我將**整理一下,有需要的可以互相討論討論。
點雲平面提取 彙總 3D點雲分割演算法
最近在arxiv和一些會議上看到了幾篇3d點雲分割 覺得還不錯,在這裡分享下基本思路。除了區域性特徵外,全域性資訊在語義分割中起著至關重要的作用,而現有的研究往往無法明確地提取出有意義的全域性資訊並加以充分利用。本文提出了乙個場景編碼模組來實施場景感知指導,以增強全域性資訊的效果。該模組 場景描述符...
PCL點雲庫 平面模型分割
平面模型分割是採用隨機取樣一致性對點雲擬合出乙個平面,將點到該平面的距離小於 距離閾值 的點都作為內點,大於 距離閾值 的點都作為外點。可以通過設定引數選擇保留內點還是外點。平面模型分割 include include include include intmain int argc,char ar...
點雲擬合 平面擬合
平面方程 ax by cz d 0 方程本身不複雜,原理推導別人已經寫得很明白了,我這裡只貼位址了,不重複推導。構建係數矩陣後,利用最小二乘即可 求解 ax b x ata 1atb matlab inv a a a b實際使用過程中,遇到一些問題。參考原部落格提出的方法,當用於擬合係數 c 0的平...