资源简介
采用matlab实现了ICP算法及针对ICP算法的缺点进行了改进并实现了程序
代码片段和文件信息
%利用平面特征和避免出现重复搜索的ICP进行配准参数的求取,需要手动地剔除粗差
%第一步:提取测站7与测站8中重复的平面点云数据,并手动地剔除粗差,得到测站7_1测站7_2测站8_1测站8_2.
%第二步:计算测站7_1中心作为A1,测站7_2中心作为B1,计算测站7_1到B1的最大距离作为C1,
%........计算测站8_1中心作为A2,测站8_2中心作为B2,计算测站8_1到B2的最大距离作为C2,
%第三步:根据初始同名点,利用六参数求解初始旋转矩阵R和平移参数t。
%第四步:为了减少ICP配准时间,需要用少量的点云数据进行ICP迭代,采用,对两个平面中心取一定范围的点云数据用于ICP迭代
%.......以A1为原点r为半径提取点云数据测站7_1‘以B1为原点R为半径提取点云数据测站7_2‘
%.......以A2为原点r为半径提取点云数据测站8_1‘以B2为原点R为半径提取点云数据测站8_2‘
%.......P1i=[测站7_1‘]P2i=[测站8_1‘];
%第五步:对P1i和P2i进行ICP迭代,从而得到旋转矩阵R和平移参数t
%第六步:对转换后的点云数据进行TLS拟合平面,求取两个平面的夹角
%第七步:计算转换后的点云数据到另一个测站平面的距离
tic
[x7_1y7_1z7_1]=textread(‘F:\临时实验\测站7_8\经TLS剔除粗差后的输出数据\Rican\测站7_1.txt‘‘%f%f%f‘-1);
P1i=[x7_1y7_1z7_1];
n1=size(x7_11);
aver_P1i=sum(P1i1)/n1;
A1=aver_P1i;
%测站7第二个图求平均值
[x7_2y7_2z7_2]=textread(‘F:\临时实验\测站7_8\经TLS剔除
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2012-03-14 23:33 ICP\
文件 18319 2012-03-11 21:11 ICP\hs_err_pid7856.log
文件 151400 2012-02-13 09:00 ICP\simulation_data.mat
文件 151475 2012-02-13 22:26 ICP\simulation_data2.mat
目录 0 2012-03-17 10:39 ICP\含有粗差ICP配准\
文件 8500 2012-03-16 18:10 ICP\含有粗差ICP配准\GICP1.m
文件 9042 2012-03-17 14:31 ICP\含有粗差ICP配准\GICP2.m
文件 8186 2012-03-17 09:55 ICP\含有粗差ICP配准\GKDT_ICP.m
文件 8767 2012-03-16 18:15 ICP\含有粗差ICP配准\GKDT_ICP1.m
文件 8885 2012-03-17 09:42 ICP\含有粗差ICP配准\GKDT_ICP2.m
目录 0 2012-03-16 18:34 ICP\手动剔除粗差ICP配准\
文件 7805 2012-03-16 19:59 ICP\手动剔除粗差ICP配准\GKDT_ICP.m
文件 8419 2012-03-16 18:31 ICP\手动剔除粗差ICP配准\GKDT_ICP1.m
文件 8431 2012-03-16 20:09 ICP\手动剔除粗差ICP配准\GKDT_ICP2.m
文件 8494 2012-03-16 18:32 ICP\手动剔除粗差ICP配准\G_ICP1.m
文件 8506 2012-03-17 09:16 ICP\手动剔除粗差ICP配准\G_ICP2.m
目录 0 2012-03-13 22:27 ICP\最原始ICP\
文件 1285 2012-02-22 21:50 ICP\最原始ICP\ICP_dsearchn.m
文件 1453 2012-02-22 22:20 ICP\最原始ICP\ICP_norm.m
目录 0 2012-07-31 14:10 ICP\避免出现搜索重复ICP\
文件 1583 2012-03-13 22:31 ICP\避免出现搜索重复ICP\ICP_change.m
文件 1550 2012-03-13 22:30 ICP\避免出现搜索重复ICP\ICP_change2.m
评论
共有 条评论