• 大小: 0.81M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2024-04-18
  • 语言: C/C++
  • 标签: 点云  提取  三维  

资源简介

Win10 pcl1.8.1 vs2015 

资源截图

代码片段和文件信息


#include “stdafx.h“
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std::chrono_literals;

pcl::visualization::PCLVisualizer::Ptr simpleVis(pcl::PointCloud::ConstPtr cloud)
{
pcl::visualization::PCLVisualizer::Ptr viewer(new pcl::visualization::PCLVisualizer(“3D Viewer“));
viewer->setBackgroundColor(0 0 0);
viewer->addPointCloud(cloud “sample cloud“);
viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE 3 “sample cloud“);
viewer->initCameraParameters();
return (viewer);
}


int estimateBorders(pcl::PointCloud::Ptr &cloud float re float reforn)
{

pcl::PointCloud::Ptr final(new pcl::PointCloud);
pcl::PointCloud boundaries; //保存边界估计结果

pcl::BoundaryEstimation boundEst; //定义一个进行边界特征估计的对象
pcl::NormalEstimation normEst; //定义一个法线估计的对象
pcl::PointCloud::Ptr normals(new pcl::PointCloud); //保存法线估计的结果

pcl::PointCloud::Ptr cloud_boundary(new pcl::PointCloud);
normEst.setInputCloud(pcl::PointCloud::Ptr(cloud));

normEst.setRadiusSearch(reforn); //设置法线估计的半径

normEst.compute(*normals); //将法线估计结果保存至normals

   //输出法线的个数

std:cout << “reforn: “ << reforn << std::endl;

std::cerr << “normals: “ << normals->size() << std::endl;

boundEst.setInputCloud(cloud); //设置输入的点云

boundEst.setInputNormals(normals); //设置边界估计的法线,因为边界估计依赖于法线

boundEst.setRadiusSearch(re); //设置边界估计所需要的半径

boundEst.setAngleThreshold(M_PI / 2); //边界估计时的角度阈值

boundEst.setSearchMethod(pcl::search::KdTree::Ptr(new pcl::search::KdTree)); //设置搜索方式KdTree

boundEst.compute(boundaries); //将边界估计结果保存在boundaries

  //输出边界点的个数

std::cerr << “boundaries: “ << boundaries.points.size() << std::endl;

//存储估计为边界的点云数据,将边界结果保存为pcl::PointXYZ类型

for (int i = 0; i < cloud->points.size(); i++) 
{

if (boundaries[i].boundary_point > 0)

{

cloud_boundary->push_back(cloud->points[i]);

}

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2020-09-13 22:51  15-2-BJTQ\
     文件        5918  2020-09-13 22:51  15-2-BJTQ\PCLDebug.props
     文件        5532  2020-09-13 22:51  15-2-BJTQ\PCLRelease.props
     文件        1303  2020-09-13 22:51  15-2-BJTQ\PCLtest.sln
     文件          33  2020-09-13 22:51  15-2-BJTQ\Readme.txt
     目录           0  2020-09-13 22:51  15-2-BJTQ\.vs\
     目录           0  2020-09-13 22:51  15-2-BJTQ\.vs\PCLtest\
     目录           0  2020-09-13 22:51  15-2-BJTQ\.vs\PCLtest\V14\
     文件       55808  2020-09-13 22:51  15-2-BJTQ\.vs\PCLtest\V14\.suo
     目录           0  2020-09-13 22:51  15-2-BJTQ\PCLtest\
     文件     5299200  2020-09-13 22:51  15-2-BJTQ\PCLtest\FLANN.DLL
     文件        5964  2020-09-13 22:51  15-2-BJTQ\PCLtest\PCLDebug64.props
     文件        5992  2020-09-13 22:51  15-2-BJTQ\PCLtest\PCLRelease64.props
     文件        6859  2020-09-13 22:51  15-2-BJTQ\PCLtest\PCLtest.cpp
     文件       30790  2020-09-13 22:51  15-2-BJTQ\PCLtest\PCLtest.vcxproj
     文件        1447  2020-09-13 22:51  15-2-BJTQ\PCLtest\PCLtest.vcxproj.filters
     文件        1228  2020-09-13 22:51  15-2-BJTQ\PCLtest\PCLtest.vcxproj.user
     文件        1510  2020-09-13 22:51  15-2-BJTQ\PCLtest\ReadMe.txt
     文件         211  2020-09-13 22:51  15-2-BJTQ\PCLtest\STDAFX.CPP
     文件         234  2020-09-13 22:51  15-2-BJTQ\PCLtest\STDAFX.H
     文件         240  2020-09-13 22:51  15-2-BJTQ\PCLtest\targetver.h

评论

共有 条评论