利用 StatisticalOutlierRemoval 过滤器删除离群值

种地  论坛元老 | 2024-9-6 11:51:22 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1092|帖子 1092|积分 3276

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
下载数据集 table_scene_lms400.pcd 并将其保存到磁盘的某个位置。
然后,创建一个文件,好比说,在你的收藏夹中 编辑器,并将以下内容放入此中:statistical_removal.cpp
  1. #include <iostream>
  2. #include <pcl/io/pcd_io.h>
  3. #include <pcl/point_types.h>
  4. #include <pcl/filters/statistical_outlier_removal.h>
  5. int
  6. main ()
  7. {
  8.   pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);
  9.   pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered (new pcl::PointCloud<pcl::PointXYZ>);
  10.   // Fill in the cloud data
  11.   pcl::PCDReader reader;
  12.   // Replace the path below with the path where you saved your file
  13.   reader.read<pcl::PointXYZ> ("table_scene_lms400.pcd", *cloud);
  14.   std::cerr << "Cloud before filtering: " << std::endl;
  15.   std::cerr << *cloud << std::endl;
  16.   // Create the filtering object
  17.   pcl::StatisticalOutlierRemoval<pcl::PointXYZ> sor;
  18.   sor.setInputCloud (cloud);
  19.   sor.setMeanK (50);
  20.   sor.setStddevMulThresh (1.0);
  21.   sor.filter (*cloud_filtered);
  22.   std::cerr << "Cloud after filtering: " << std::endl;
  23.   std::cerr << *cloud_filtered << std::endl;
  24.   pcl::PCDWriter writer;
  25.   writer.write<pcl::PointXYZ> ("table_scene_lms400_inliers.pcd", *cloud_filtered, false);
  26.   sor.setNegative (true);
  27.   sor.filter (*cloud_filtered);
  28.   writer.write<pcl::PointXYZ> ("table_scene_lms400_outliers.pcd", *cloud_filtered, false);
  29.   return (0);
  30. }
复制代码
 编译和运行步伐
将以下行添加到您的 CMakeLists.txt 文件中
  1. cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
  2. project(statistical_removal)
  3. find_package(PCL 1.2 REQUIRED)
  4. include_directories(${PCL_INCLUDE_DIRS})
  5. link_directories(${PCL_LIBRARY_DIRS})
  6. add_definitions(${PCL_DEFINITIONS})
  7. add_executable (statistical_removal statistical_removal.cpp)
  8. target_link_libraries (statistical_removal ${PCL_LIBRARIES})
复制代码
创建可执行文件后,您可以运行它。只需:
  1. $ ./statistical_removal
复制代码
您将看到类似于以下内容的内容:


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

种地

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表