PCL將點向平面投影

2021-10-14 16:33:47 字數 1577 閱讀 6776

#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軸...