• 大小: 6KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-05-28
  • 语言: 其他
  • 标签: 点云配准  

资源简介

用FPFH方法进行点云配准,包含一个两个源文件和一个头文件,头文件包括RANSAC和FPFH特征的定义,源文件其中一个是FPFH特征的提取,还有一个是主函数,主要是各种接口。通过该方法可以比较好的进行点云配准

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 
#include  
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include “Ransac.h“

using namespace std;
typedef pcl::PointCloud pointcloud;
typedef pcl::PointCloud pointnormal;
typedef pcl::PointCloud PointCloudFeature;
typedef pcl::FPFHSignature33 FeatureT;

struct Parameter
{
char source_name[256];
char target_name[256];
char groundtruth_file[256];
int num_control;
int testNum;
double RadiusSearch;
double ratio;
double threshold_groundtruth;
double Hurris_threshold;
double Hurris_Radius;
int hurris_flag;
};
struct Result
{
int num_test;
vector precision;
vector recall;
vector F1;
double time_extra;
double time_correspondence;
vector correspondences;
};
Parameter parse_parameter()
{
Parameter out;
ifstream parafile;
parafile.open(“data/parameters.txt“);
if (parafile.fail())
{
cout << “can‘t open the parameters.txt file“ << endl;
exit(0);
}
char str[256];
while (!parafile.eof())
{
parafile.getline(str 256 ‘#‘);
if (strcmp(str “SourceName“) == 0)
{
parafile.getline(str 100 ‘\n‘);
strcpy(out.source_name str);
}
else if (strcmp(str “TargetName“) == 0)
{
parafile.getline(str 255 ‘\n‘);
strcpy(out.target_name str);
}
else if (strcmp(str “GroundTruthName“) == 0)
{
parafile.getline(str 255 ‘\n‘);
strcpy(out.groundtruth_file str);
}
else if (strcmp(str “Ratio“) == 0)
{
parafile.getline(str 255 ‘\n‘);
out.ratio = atof(str);
}
else if (strcmp(str “ThresholdGroundTruth“) == 0)
{
parafile.getline(str 255 ‘\n‘);
out.threshold_groundtruth = atof(str);
}
else if (strcmp(str “RadiusSearch“) == 0)
{
parafile.getline(str 255 ‘\n‘);
out.RadiusSearch = atof(str);
}
else if (strcmp(str “TestNum“) == 0)
{
parafile.getline(str 255 ‘\n‘);
out.testNum = atoi(str);
}
else if (strcmp(str “NumControl“) == 0)
{
parafile.getline(str 255 ‘\n‘);
out.num_control = atoi(str);
}
else if (strcmp(str “Hurris_threshold“) == 0)
{
parafile.getline(str 255 ‘\n‘);
out.Hurris_threshold = atof(str);
}
else if (strcmp(str “Hurris_Radius“) == 0)
{
parafile.getline(str 255 ‘\n‘);
out.Hurris_Radius = atof(str);
}
else if (strcmp(str “Hurris_flag“) == 0)
{
p

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      19274  2017-07-25 15:16  srcFPFH\FPFHregistration.cpp

     文件        256  2017-07-25 15:16  srcFPFH\parameters.txt

     文件       2905  2017-07-25 15:16  srcFPFH\Ransac.cpp

     文件        914  2017-07-25 15:16  srcFPFH\Ransac.h

     目录          0  2017-09-08 15:27  srcFPFH

----------- ---------  ---------- -----  ----

                23349                    5


评论

共有 条评论