基于半径(规定圆内和邻居个数限制)和条件(滤波域和值范围)实行离群点去除
#include "stdafx.h"
//int _tmain(int argc, _TCHAR* argv[])
//{
// return 0;
//}
#include<iostream>
#include<pcl/io/pcd_io.h>
#include<pcl/io/ply_io.h>
#include<pcl/filters/radius_outlier_removal.h>
#include<pcl/filters/conditional_removal.h>
using namespace std;
int main(int argc, char** argv){
if (argc != 2){
cerr << "please specify commond line arg -r or -c" << endl;
exit(0);
}
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>), filtered_cloud(new pcl::PointCloud<pcl::PointXYZ>);
//读入数据
pcl::PCDReader pcdr;
pcdr.read("table_scene_lms400.pcd", *cloud);
//Fill in the cloud data
/*cloud->width = 10;
cloud->height = 1;
cloud->points.resize(cloud->width * cloud->height);
for (size_t i = 0; i < cloud->points.size(); ++i