WangCC 发表于 2016-7-25 17:18:57

条件滤波调试出现显示vector subscript out of range错误

在进行点云滤波的代码调试的时候,显示vector subscript out of range错误,尝试了很多解决方法都没弄好,不知道是不是跟点云的有序和无序是否有关?
代码如下:#include "stdafx.h"
#include <iostream>
#include <pcl/point_types.h>
#include <pcl/filters/radius_outlier_removal.h>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/cloud_viewer.h>
using namespace std;


int main(int argc, char** argv)
{
        pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);
    pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered (new pcl::PointCloud<pcl::PointXYZ>);
// 填入点云数据
        pcl::io::loadPCDFile ("cloud_tBF01_inliers.pcd", *cloud);
       pcl::visualization::CloudViewer viewer1("Cloud before filtering");
        viewer1.showCloud(cloud);
   pcl::RadiusOutlierRemoval<pcl::PointXYZ> outrem;
    // 创建滤波器
      outrem.setInputCloud(cloud);
      outrem.setRadiusSearch(0.008);
      outrem.setMinNeighborsInRadius (2);
    // 应用滤波器
      outrem.filter (*cloud_filtered);
// 显示滤波后的点云
    pcl::visualization::CloudViewer viewer2("Cloud after filtering");
        viewer2.showCloud(cloud_filtered);
        pcl::PCDWriter writer;
    writer.write<pcl::PointXYZ>("cloud_tBF01_gh.pcd",*cloud_filtered,false);
    system("pause");
        return 0;
}
页: [1]
查看完整版本: 条件滤波调试出现显示vector subscript out of range错误