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

设计网站与建设祁东县建设局网站

设计网站与建设,祁东县建设局网站,seo是什么技术,网页设计作业怎么做ConditionalRemoval 是 PCL(Point Cloud Library)中的一个条件滤波器,用于根据指定的条件过滤点云数据。以下是 ConditionalRemoval 的使用方法和步骤: ### 使用方法 1. **创建条件**: - 使用 pcl::ConditionAnd 或…

`ConditionalRemoval` 是 PCL(Point Cloud Library)中的一个条件滤波器,用于根据指定的条件过滤点云数据。以下是 `ConditionalRemoval` 的使用方法和步骤:

### 使用方法
1. **创建条件**:
   - 使用 `pcl::ConditionAnd` 或 `pcl::ConditionOr` 创建条件对象。
   - 通过 `addComparison` 方法添加比较条件,例如比较点云中的某个字段(如 `x`、`y`、`z`)是否满足特定的条件。

2. **设置滤波器**:
   - 创建 `pcl::ConditionalRemoval` 对象。
   - 使用 `setCondition` 方法设置条件。
   - 使用 `setInputCloud` 方法设置输入点云。
   - 使用 `setKeepOrganized` 方法决定是否保留原始点云的结构(`true` 保留,`false` 删除滤波掉的点)。

3. **应用滤波器**:
   - 调用 `filter` 方法对点云进行过滤,输出过滤后的点云。

### 示例代码
```cpp
#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <pcl/filters/conditional_removal.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <boost/thread/thread.hpp>

int main() {
    // 创建点云对象
    pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGB>());
    pcl::io::loadPCDFile("D:/code/csdn/data/two_tree.pcd", *cloud);

    // 创建条件
    pcl::ConditionAnd<pcl::PointXYZRGB>::Ptr field(new pcl::ConditionAnd<pcl::PointXYZRGB>());
    field->addComparison(pcl::FieldComparison<pcl::PointXYZRGB>::ConstPtr(
        new pcl::FieldComparison<pcl::PointXYZRGB>("z", pcl::ComparisonOps::GT, -27.0)));
    field->addComparison(pcl::FieldComparison<pcl::PointXYZRGB>::ConstPtr(
        new pcl::FieldComparison<pcl::PointXYZRGB>("z", pcl::ComparisonOps::LT, -24.5)));

    // 创建滤波器
    pcl::ConditionalRemoval<pcl::PointXYZRGB> filtered;
    filtered.setCondition(field);
    filtered.setInputCloud(cloud);
    filtered.setKeepOrganized(false);

    // 应用滤波器
    pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud_filtered(new pcl::PointCloud<pcl::PointXYZRGB>());
    filtered.filter(*cloud_filtered);

    // 删除NaN点
    std::vector<int> mapping;
    pcl::removeNaNFromPointCloud(*cloud_filtered, *cloud_filtered, mapping);

    // 可视化
    boost::shared_ptr<pcl::visualization::PCLVisualizer> view_raw(new pcl::visualization::PCLVisualizer("raw"));
    pcl::visualization::PointCloudColorHandlerRGBField<pcl::PointXYZRGB> raw_rgb(cloud);
    view_raw->addPointCloud<pcl::PointXYZRGB>(cloud, raw_rgb, "raw cloud");
    view_raw->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "raw cloud");

    boost::shared_ptr<pcl::visualization::PCLVisualizer> view_filtered(new pcl::visualization::PCLVisualizer("filter"));
    pcl::visualization::PointCloudColorHandlerRGBField<pcl::PointXYZRGB> filtered_rgb(cloud);
    view_filtered->addPointCloud<pcl::PointXYZRGB>(cloud_filtered, filtered_rgb, "filtered cloud");
    view_filtered->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "filtered cloud");

    while (!view_raw->wasStopped()) {
        view_raw->spinOnce(100);
        boost::this_thread::sleep(boost::posix_time::microseconds(100000));
    }
    while (!view_filtered->wasStopped()) {
        view_filtered->spinOnce(100);
        boost::this_thread::sleep(boost::posix_time::microseconds(100000));
    }

    return 0;
}
```

### 说明
- **条件设置**:通过 `addComparison` 方法添加多个条件,可以使用 `pcl::ComparisonOps` 中的比较运算符(如 `GT`、`LT` 等)。
- **保留结构**:`setKeepOrganized(true)` 会保留原始点云的结构,滤波掉的点用 `NaN` 替代;`setKeepOrganized(false)` 会删除滤波掉的点。
- **删除NaN点**:如果使用 `setKeepOrganized(false)`,可以使用 `pcl::removeNaNFromPointCloud` 删除 `NaN` 点。

通过上述方法,你可以灵活地使用 `ConditionalRemoval` 对点云数据进行条件过滤。

http://www.dtcms.com/wzjs/558321.html

相关文章:

  • 佛山模板建站定制网站德国购物网站大全
  • 做一个网站怎么做的吗长沙网站建站公司
  • 网站设计培训机构南宁网站建设智能优化
  • 建设网站6980块钱贵吗windows wordpress可以
  • 广东省网站备案注销企业网盘方案
  • 网站建设教程赚找湖南岚鸿认 可企业推广策划
  • 网站的布局结构微信小程序注册账号
  • 网站建设公司讯息网络产品及其推广方法
  • 装修公司企业网站开发规划惠州专业的免费建站
  • 电子商务网站开发wordpress登录界面源码
  • 泰安网站建设公司排名html注册登录界面代码
  • 张家港做网站多少钱如何建设一个文件分享网站
  • 网站建设平台选用重庆装修公司排名前十名
  • 内容网站管理系统网页版梦幻西游踏青寻柳攻略
  • 如今做知乎类网站怎么样如何帮人做网站赚钱吗
  • 中国空间站最新进展176网站入口
  • 寻找扬中网站建设赣州市南康区建设局网站
  • linux建设网站php打开提示404西安有哪些做网站建设的公司好
  • 传统pc网站网页系统升级每天自动更新
  • 模板网站如何建站长沙网站建设哪家强
  • 百度做网站需要多少钱宣传渠道有哪些
  • 做个网站要花多少钱徐州在线网
  • 北京市建设官方网站网站建设费用做什么科目
  • 锡山建设局网站如何查看一个网站的访问量
  • 网站备份流程新人做外贸怎么找国外客户
  • 做淘宝客网站一定要备案吗cho菌主题wordpress
  • 网站制作字怎么放在图上面网站后台怎么做
  • 查做外贸客户的网站wordpress 文章点击
  • 网站开发安卓开发上海 网站设计公司
  • 对学院网站建设的建议深圳西乡 网站建设