首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过3个点的相关性对齐点云?

通过3个点的相关性对齐点云?
EN

Stack Overflow用户
提问于 2008-12-11 06:18:25
回答 3查看 2.6K关注 0票数 2

假设我有3个点云:第一个点有3个点{x1,y1,z1},{x2,y2,z2},{x3,y3,z3},第二个点云与{xx1,yy1,zz1},{xx2,yy2,zz2},{xx3,yy3,zz3}具有相同的点...我假设要将第二个点云对齐到第一个点云,我必须将第二个点云的点乘以T3x3matrix。

1)那么我如何找到这个变换矩阵(T)?我试着用手做方程式,但解不出来。有没有什么解决办法,因为我很确定我不是第一个遇到这个问题的人。

2)我假设矩阵可能包括倾斜和剪切。有没有办法找到只有7个自由度(3个平移,3个旋转,1个尺度)的矩阵?

EN

回答 3

Stack Overflow用户

发布于 2008-12-11 07:24:59

亚当·罗森菲尔德的方法是正确的。但是作为T2 * Inv (T1)的解决方案是错误的。由于在矩阵乘法中A*B != B*A:因此结果是Inv(T1) * T2

票数 1
EN

Stack Overflow用户

发布于 2008-12-11 07:53:40

您正在讨论的seven parameter transformation被称为3d保角变换,或者有时是3d相似性变换,因为这两个云是相似的。如果两个形状相同,Adam Rosenfield解是好的。在有微小差异的地方,你希望得到最好的拟合,最常用的解决方案是Helmert transformation,它使用最小二乘法来最小化残差。维基百科和谷歌在这方面的东西看起来并不是很好。我的推荐人是吉拉尼和沃尔夫的adjustment computations,p345。这也是一本关于应用于空间问题的矩阵数学的好书,也是对库的一个很好的补充。

编辑:Adam的这个转换的9个参数版本被称为affine transformation

票数 1
EN

Stack Overflow用户

发布于 2008-12-29 18:53:28

这是一个计算R中2D仿射变换参数的最小二乘估计的example

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/358557

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档