资源简介

[原创]根据文献使用matlab实现了PFH算法,并使用它对bunny数据进行了基于特征匹配和RANSAC的拼接实验。关键点选取和特征匹配部分是直接用的之前文献复原的内容(资源已发布),仅用来测试PFH的有效性。由于运行速度过慢,我将代码分为三块,依次运行PFH_demo.m(关键点提取)、PFH_demo2.m(PFH计算,耗时)、PFH_demo3.m(拼接实验与结果展示)。代码中实现的是64维度的描述符,与PCL中的略有不同。关键点如果用3D harris效果应该会更好一点。

资源截图

代码片段和文件信息

function b = ascread(filename)      %read my file
format long;
fi = fopen(filename‘r‘);       %openfile  ‘r‘读出参数
if fi < 0
  error(sprintf(‘File %s not found‘ filename))
end

templine = 1; %
a = sscanf(fgetl(fi) ‘%d‘);%%fgetl从已经打开的文件中读取一行,并且丢掉末尾的换行符。
templine = templine +1;

if length(a)==1
    points=a(1);
end

pointlist = zeros(3points);

for vnum = 1 : points
  coord = sscanf(fgetl(fi) ‘%e %e %e‘);
  if length(coord) ~= 3
    errmsg = sprintf(‘Each vertex line must contain three coordinates (error on line %d)‘ templine);
    error(errmsg);
  end
  templine = templine +1;
  pointlist(:vnum) = coord;
end
b = cell({points;pointlist});

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-04-04 13:22  My_PFH\
     文件         704  2015-12-23 13:38  My_PFH\ascread.m
     文件     1182978  2010-10-14 20:28  My_PFH\bun000.asc
     文件     1161413  2010-10-14 20:28  My_PFH\bun045.asc
     文件         608  2018-04-03 18:47  My_PFH\lsqnormest.m
     文件        1719  2018-04-04 13:08  My_PFH\PFH_demo.m
     文件        2523  2017-01-12 16:41  My_PFH\PFH_demo2.m
     文件        2941  2018-04-03 20:38  My_PFH\PFH_demo3.m
     文件        1200  2016-03-09 17:27  My_PFH\Quater_Registration.m

评论

共有 条评论