资源简介
[原创]根据文献使用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
评论
共有 条评论