2 PCL濾波之直通濾波器

2021-10-05 13:49:20 字數 1644 閱讀 6703

直通濾波器:對指定維度(x,y,z,bgr等)進行某乙個範圍濾波,可以刪除這個範圍內部點,也可以刪除這個範圍外部的點

函式:pcl::passthroughpcl::pointxyz pass;//例項化直通濾波器

// throughpass.cpp : 此檔案包含 "main" 函式。程式執行將在此處開始並結束。

//#include

"pch.h"

#include

#include

#include

#include

#include

intmain222

(int argc,

char

** ar**)

//列印點雲資料

std::cerr <<

"cloud before filtering: "

<< 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;

// 建立濾波器物件 直通濾波器

pcl::passthrough pass;

//例項化直通濾波器

pass.

setinputcloud

(cloud)

;//在入點雲

pass.

setfilterfieldname

("z");

//濾波的字段,即濾波的方向。可以是xyz也可以是bgr

pass.

setfilterlimits

(0.0

,1.0);

//濾除在z軸方向上不在0.0-0.1範圍內的所有點

(true);//設定保留範圍內部還是範圍外部 預設false為內部

pass.

filter

(*cloud_filtered)

;//開始濾波,結果輸出至cloud_filtered中

//列印濾波完成的點雲資料

std::cerr <<

"cloud after filtering: "

<< std::endl;

for(size_t i =

0; i < cloud_filtered-

>points.

size()

;++i)

std::cerr <<

" "

<< cloud_filtered-

>points[i]

.x <<

" "<< cloud_filtered-

>points[i]

.y <<

" "<< cloud_filtered-

>points[i]

.z << std::endl;

return(0

);}

PCL 直通濾波器

二 示例 三 結果展示 直通濾波的作用是過濾掉在指定維度方向上取值不在給定值域內的點,實現原理如下 首先,指定乙個維度以及該維度下的值域,其次,遍歷點雲中的每個點,判斷該點在指定維度上的取值是否在值域內,刪除取值不在值域內的點,最後,遍歷結束,留下的點即構成濾波後的點雲。直通濾波器簡單高效,適用於消...

PCL點雲濾波(直通濾波器與統計濾波器)

利用pcl中的直通濾波器和統計濾波器對原始點雲資料進行濾波處理。通過直通濾波器將z軸方向上範圍之外的點濾除 在背景與前景有一定距離的情況下,可以除掉背景 再利用統計濾波器去除離群點 雜訊點 濾波效果視資料和濾波引數而定。include include include include include ...

PCL 濾波 直通濾波

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