PCL 濾波 Projectlnliers投影濾波

2021-09-28 23:46:54 字數 1908 閱讀 5961

//模型係數標頭檔案

#include

//投影濾波類標頭檔案

intmain

(int argc,

char

** ar**)

std::cerr <<

"cloud before projection: "

<< std::endl;

for(size_t i =

0; i < cloud-

>points.

size()

;++i)

std::cerr <<

" "

<< cloud-

>points[i]

.x <<

" "<< cloud-

>points[i]

.y <<

" "<< cloud-

>points[i]

.z << std::endl;

// 填充modelcoefficients的值,使用ax+by+cz+d=0平面模型,其中 a=b=d=0,c=1 也就是x——y平面

//定義模型係數物件,並填充對應的資料

pcl::modelcoefficients::ptr coefficients

(new pcl::

modelcoefficients()

);coefficients-

>values.

resize(4

);coefficients-

>values[0]

= coefficients-

>values[1]

=0; coefficients-

>values[2]

=1.0

; coefficients-

>values[3]

=0;// 建立projectinliers物件,使用modelcoefficients作為投影物件的模型引數

pcl::projectinliers<:pointxyz> proj;

//建立投影濾波物件

proj.

setmodeltype

(pcl::sacmodel_plane)

;//設定物件對應的投影模型

proj.

setinputcloud

(cloud)

;//設定輸入點雲

proj.

setmodelcoefficients

(coefficients)

;//設定模型對應的係數

proj.

filter

(*cloud_projected)

;//投影結果儲存

std::cerr <<

"cloud after projection: "

<< std::endl;

for(size_t i =

0; i < cloud_projected-

>points.

size()

;++i)

std::cerr <<

" "

<< cloud_projected-

>points[i]

.x <<

" "<< cloud_projected-

>points[i]

.y <<

" "<< cloud_projected-

>points[i]

.z << std::endl;

return(0);}

PCL 濾波 直通濾波

在獲取點雲資料時 由於裝置精度,操作者經驗環境因素帶來的影響,以及電磁波的衍射特性,被測物體表面性質變化和資料拼接配準操作過程的影響,點雲資料中講不可避免的出現一些雜訊。在點雲處理流程中濾波處理作為預處理的第一步,對後續的影響比較大,只有在濾波預處理中將雜訊點 離群點,孔洞,資料壓縮等按照後續處理定...

pcl 統計濾波

作用 可以用來剔除離群點,或者測量誤差導致的粗差點。其特徵是在空間中分布稀疏,可以理解為 每個點都表達一定資訊量,某個區域點越密集則可能資訊量越大。雜訊資訊屬於無用資訊,資訊量較小。所以離群點表達的資訊可以忽略不計。統計濾波器的實現原理如下 首先,遍歷點雲,計算每個點與其最近的k個鄰居點之間的平均距...

PCL條件濾波

而條件濾波 condition removal filter 正好可以解決這個問題,條件濾波相比於直通濾波優點就是一次可以對多個軸的範圍進行劃定限制。允許自由地新增和組合xyz三個座標軸方向的範圍限制,相比與直通濾波的 一刀切 剔除點雲的方法,條件濾波則是你想怎麼切就怎麼切,切幾刀都行。所以可以把條...