资源简介
四元数分解的点云配准,输入点云的源坐标和目标坐标,计算期望的旋转矩阵和平移向量。
代码片段和文件信息
function H = Quater_Registration(Source Target)
% function Quater_Registration is used to calculate the transformation from CYS 1 to CYS 2
% Source contains points in CYS1 which need to be transformed and Target contains points in final CYS2.
% Target = H * Source;
% Target = R * Source + T;
m = size(Source1);
ASource = [];
BTarget = [];
for i=1:m-1
ASource(i:) = Source(i:) - Source(i+1:);
end
for i=1:m-1
BTarget(i:) = Target(i:) - Target(i+1:);
end
A=[];
B=[];
for k=1:i
v=ASource(k:)+BTarget(k:);
C = [ 0 -v(3) v(2);
v(3) 0 -v(1);
-v(2) v(1) 0 ];
A = vertcat(AC);
B = vertcat(B(ASource(k:)-BTarget(k:))‘);
end
X = inv(A‘*A)*A‘*B;
K = X/norm(X); % K is the rotation vector;
Theta = 2*atan(max(X)/max(K)); % in radian
kx=K(1);
ky=K(2);
kz=K(3);
t = Theta; % in radian
ct= cos(t);
st= sin(t);
vt= 1-cos(t);
% input rotation matrix R
R = [kx^2*vt+ct kx*ky*vt-kz*st kx*kz*vt+ky*st;
kx*ky*vt+kz*st ky^2*vt+ct ky*kz*vt-kx*st;
kx*kz*vt-ky*st ky*kz*vt+kx*st kz^2*vt+ct];
T = mean((Target‘ - R * Source‘)2);
T_Q = vertcat(horzcat(RT)[0 0 0 1]);
H = T_Q;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1200 2014-05-29 17:35 Quater_Registration.m
----------- --------- ---------- ----- ----
1200 1
相关资源
- 灰度图和彩色图都能用的双边滤波(
-
电力机车牵引(HXD3)simuli
nk仿真模 - 用于图像的区域分裂和合并的matlab源
- 很好的matlab libsvm应用案例( heart_sc
- matlab水果识别程序
- 含统一潮流控制器(UPFC)的IEEE9 sim
-
混合动力汽车HEV的simuli
nk仿真模型 - KSVD OMP处理图像的程序
- 研究自动导引车系统控制器设计与调
- 点云添加噪声
- 时间反转镜的源程序
- HoG SVm 人脸识别方
- matlab仿真的载波同步算法-Fitz算法
- 超宽带TOA定位卡尔曼滤波定位算法m
- WCDMA系统中随机接入(PRACH)过程的仿
- matlab图像识别农作物病虫害
- wind_pmsg
- SOH的关于IMU算法的源代码和测试工程
- matlab实现的综合评价的熵权法
- matlab基于混沌映射对图像加密和解密
- cec2013基准测试函数 matlab源程序
- 载波恢复与符号定时的仿真 (carrie
- 等距映射(ISOMAP)算法的matlab实现
- 利用压缩感知的关联成像程序,计算
- matlab计算复杂网络中节点的紧密中心
- matlab仿真的图像序列的柱面全景拼接
- 欧拉运动放大视频和代码
- matlab神经网络43个案例分析的代码及数
- matlab混凝土(Concrete )骨料(Bone )随
- Direct-driven-PMSG
评论
共有 条评论