#include
#include
#include
#include
#include
#include
int main (
int argc,
char
** ar**)
system
("pause");
return(0);}
這個**就是實現的是:將已知點向指定平面投影,可以計算出投影之後的點的座標
pcl::projectinliers<:pointxyz> proj;
proj.
setinputcloud
(cloud)
; proj.
setmodelcoefficients
(coefficients)
; proj.
setmodeltype
(pcl::sacmodel_plane)
; proj.
filter
(*cloud_projected)
;
首先定義了乙個投影過濾器,設定輸入點雲、設定模型係數、設定模型的型別,最後完成計算,這裡設定模型可以設定除了平面之外的模型,當然設定的引數也需要相應處理,但是點到平面的距離實在是太重要了!!!
pcl::modelcoefficients::ptr coefficients
(new pcl::
modelcoefficients()
);coefficients-
>values.
push_back
(0.0);
coefficients-
>values.
push_back
(0.0);
coefficients-
>values.
push_back
(1.0);
coefficients-
>values.
push_back
(0.0
);
上面提到了設定模型的係數,就是通過這裡進行的設定,這裡還引發了我的乙個思考:就是那些帶ptr型別的變數和不帶ptr型別的變數之間到底有沒有什麼區別,答案是:沒什麼區別,因為非指標型別和指標型別是可以相互轉化的,主要是考慮這個函式需要的變數型別,畢竟vs裡提示你用另一種型別,你肯定是需要做修改的,但是pcl學習了這麼久,還是發現主要是ptr型別變數使用的更多。
最後展示一下結果:
投影之後的點雲
看起來還是挺好玩的,由於是向xy平面投影,所以直接壓平了,最後的投影結果,也儲存在
proj.
filter
(*cloud_projected)
;
這個地 9 C 搭配PCL降維將點雲投影至平面
本專欄所有內容都是基於visual studio 2017平台,c 語言,第三方庫 pcl1.8所進行實驗的。點雲資料為史丹福大學公共點雲庫bunny點雲。本專欄所寫內容均為手打,均為精簡過的,沒有一句廢話,且全部都有注釋。將點雲投影至某個平面,後期再加注釋,如果有訂閱的話 pragma warni...
002 pcl 點雲投影
1.首先包含的對應的modelcoefficients.h以及filter中向平面投影的project inlier.h include include include include include2.增加視覺化顯示的 int user data void vieweroneoff pcl vis...
PCL點雲旋轉(平面引數)
實現根據輸入平面引數 標準式 基於旋轉矩陣 旋轉點雲到xy面的功能 旋轉矩陣 include stdafx.h include include include include include include include 輸入輸入點雲,輸出點雲位址和分割平面方程,返回旋轉完的點雲,可直接xy面z軸...