博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Absolute Orientation - Horn's method
阅读量:2384 次
发布时间:2019-05-10

本文共 2411 字,大约阅读时间需要 8 分钟。

ABSOR is a tool for least squares estimation of the rotation -- and optionally also the

scaling and translation -- that maps one collection of point coordinates to
another. It is based on Horn's quaternion-based algorithm. The function works for both 2D and 3D coordinates, and also gives the option of weighting the coordinates non-uniformly. The code avoids for-loops so as to maximize speed.
DESCRIPTION:
As input data, one has
A: a 2xN or 3xN matrix whos columns are the coordinates of N source points.
B: a 2xN or 3xN matrix whos columns are the coordinates of N target points.
The basic syntax
[regParams,Bfit,ErrorStats]=absor(A,B)
solves the unweighted/unscaled registration problem
min. sum_i ||R*A(:,i) + t - B(:,i)||^2
for unknown rotation matrix R and unknown translation vector t.
ABSOR can also solve the more general problem
min. sum_i w(i)*||s*R*A(:,i) + t - B(:,i)||^2
where s>=0 is an unknown global scale factor to be estimated, along with R and t,
and w is a user-supplied N-vector of weights. One can include/exclude any
combination of s, w, and translation t in the problem formulation. Which
parameters participate is controlled using the syntax,
[regParams,Bfit,ErrorStats]=absor(A,B,'param1',value1,'param2',value2,...)
with parameter/value pair options,
'doScale' - Boolean flag. If TRUE, the global scale factor, s, is included.
Otherwise, it is assumed that s=1. Default=FALSE.
'doTrans' - Boolean flag. If TRUE, the translation, t, is included. Otherwise,
zero translation is assumed. Default=TRUE.
'weights' - The length N-vector of weights, w. Default, no weighting.
OUTPUTS:
regParams: structure output with estimated registration parameters,
regParams.R: The estimated rotation matrix, R
regParams.t: The estimated translation vector, t
regParams.s: The estimated scale factor.
regParams.M: Homogenous coordinate transform matrix [s*R,t;[0 0 ... 1]].
For 3D problems, the structure includes
regParams.q: A unit quaternion [q0 qx qy qz] corresponding to R and
signed to satisfy max(q)=max(abs(q))>0
For 2D problems, it includes
regParams.theta: the counter-clockwise rotation angle about the
2D origin
Bfit: The rotation, translation, and scaling (as applicable) of A that
best matches B.
ErrorStats: structure output with error statistics. In particular,
defining err(i)=sqrt(w(i))*norm( Bfit(:,i)-B(:,i) ),
it contains
ErrorStats.errlsq = norm(err)
ErrorStats.errmax = max(err)

转载地址:http://bzdab.baihongyu.com/

你可能感兴趣的文章
能Ping通外网但就是不能打开所有网页的解决办法
查看>>
windows7配置虚拟AP的脚本
查看>>
北京开放政府信息资源 “大数据”供社会化利用
查看>>
大数据挖掘变革 美赛达软硬云引领车联网商业蓝海
查看>>
停车费上涨需要公开“大数据”
查看>>
DIYer最担心的事来了!CPU降价彻底无望
查看>>
WannaCry勒索软件还在继续传播和感染中
查看>>
为发展中国家儿童提供的OLPC OS 13.2.10 发布
查看>>
帅的代价!无框车门冻死:特斯拉一招解决
查看>>
美银美林提高Intel科技股的股票评级
查看>>
专家预测2019年的网络安全形势
查看>>
java实现解压缩(Unzip)功能的实现
查看>>
java操作Access *.mdb数据库的实现
查看>>
jdbc连接数据库的代码片段
查看>>
X86汇编:debug命令详解
查看>>
flex(通过URLLoader)与后台jsp进行交互的例子,包括中文乱码的处理
查看>>
Flex HTTPService如何给后台传递参数
查看>>
Flex取得客户端的IP地址
查看>>
不vista下安装oracle10g(r2)注意事项
查看>>
文件列表输出到文件
查看>>