当前位置: 首页 > news >正文

pcl 滤波

pcl::ShadowPoints

去除边缘不连续点云

#include <pcl/filters/shadowpoints.h>
#include <pcl/features/normal_3d.h>pcl::PointCloud<pcl::PointXYZI>::Ptr ShadowsCloudFilter(pcl::PointCloud<pcl::PointXYZI>::Ptr cloud)
{pcl::ShadowPoints<pcl::PointXYZI, pcl::Normal> shadowfilters(true);//sets the source point cloudshadowfilters.setInputCloud(cloud->makeShared());pcl::NormalEstimation<pcl::PointXYZI, pcl::Normal> ne;ne.setInputCloud(cloud->makeShared());pcl::search::KdTree<pcl::PointXYZI>::Ptr tree(new pcl::search::KdTree<pcl::PointXYZI>());ne.setSearchMethod(tree);pcl::PointCloud<pcl::Normal>::Ptr cloud_normals(new pcl::PointCloud<pcl::Normal>);double normalsThreshold = 100;ne.setRadiusSearch(normalsThreshold);ne.compute(*cloud_normals);//sets normals into shadowfiltersshadowfilters.setNormals(cloud_normals);//sets thresholddouble shadowThreshold = 0.1;shadowfilters.setThreshold(shadowThreshold);//filterspcl::PointCloud<pcl::PointXYZI>::Ptr outCloud(new pcl::PointCloud<pcl::PointXYZI>());shadowfilters.filter(*outCloud);cout << outCloud->points.size() << endl;return outCloud;
}

pcl::StatisticalOutlierRemoval

统计滤波: 去除小部分杂点,留下大部分点

#include <pcl/filters/statistical_outlier_removal.h>pcl::PointCloud<pcl::PointXYZI>::Ptr FilterCloud(pcl::PointCloud<pcl::PointXYZI>::Ptr cloud)
{pcl::PointCloud<pcl::PointXYZI>::Ptr cloud_filtered(new pcl::PointCloud<pcl::PointXYZI>);cout << "->正在进行统计滤波..." << endl;pcl::StatisticalOutlierRemoval<pcl::PointXYZI> sor;	//创建滤波器对象sor.setInputCloud(cloud);				//设置待滤波点云sor.setMeanK(50);						//设置查询点近邻点的个数sor.setStddevMulThresh(0.1);			//设置标准差乘数,来计算是否为离群点的阈值//sor.setNegative(true);				//默认false,保存内点;true,保存滤掉的离群点sor.filter(*cloud_filtered);	//执行滤波,保存滤波结果于cloud_filteredreturn cloud_filtered;
}

http://www.lryc.cn/news/114053.html

相关文章:

  • 前端js--旋转幻灯片
  • 解决mvn clean install遇到testng单元测试失败时打包也失败的问题
  • RISC-V基础之函数调用(二)栈与寄存器(包含实例)
  • 解析器模式(C++)
  • 电子元器件选型与实战应用—02 电容选型第1篇(8000字)
  • 试图将更改推送到 GitHub,但是远程仓库已经包含了您本地没有的工作(可能是其他人提交的修改)
  • Lamport向量时钟算法的C++实现:在分布式系统中生成事件的部分排序并检测因果关系违规
  • 多个excel的sheet合并到一个excel下
  • 【Fegin技术专题】「原生态」打开Fegin之RPC技术的开端,你会使用原生态的Fegin吗?(中)
  • leetcode--每日一题--822--344(使用异或来进行数据交换)
  • OpenStreetMap数据转3D场景【Python + PostgreSQL】
  • 动力节点|MyBatis入门实战到深入源码
  • 分布式规则引擎框架的设计
  • C#开发FFMPEG例子(API方式) FFmpeg推送udp组播流
  • nvm下载node导致npm报错无法使用
  • LeetCode 热题 100JavaScript--2. 两数相加
  • zookeeper总结
  • 【程序环境与预处理玩转指南】
  • 搭建简易syslog日志中转服务器
  • MongoDB文档-进阶使用-spring-boot整合使用MongoDB---MongoRepository完成增删改查
  • 什么是线程局部变量?
  • Jmeter响应中的乱码问题
  • MongoDB文档-进阶使用-MongoDB索引-createindex()与dropindex()-在MongoDB中使用正则表达式来查找
  • CentOS下ZLMediaKit的可视化管理网站MediaServerUI使用
  • 回归预测 | MATLAB实现POA-CNN-BiGRU鹈鹕算法优化卷积双向门控循环单元多输入单输出回归预测
  • Rust 原生支持龙架构指令集
  • 为生成式AI提速,亚马逊云科技Amazon EC2 P5满足GPU需求
  • 聊聊企业数据安全那些事~
  • 日常随笔——如何把excel题库转换为word打印格式
  • SpringCloud项目打包注意事项以及可能出错的几种情况