从三个三维点计算转换矩阵

4
我有一个三维坐标系,通过一台三维摄像机跟踪其三个外部点(x, y, z)。下一帧我再次追踪这三个点。我将第一组三点作为初始情况。现在我需要草拟一个转换矩阵,以便比较第二组三个点与初始位置的平移、旋转和缩放量。
现在我不是很清楚该怎么做。是否有一种方法可以直接制作转换矩阵,还是我要先计算出平移、旋转和缩放矩阵,然后再制作这三个矩阵的转换矩阵?
我使用opencv和qt进行c++编程。有人有什么建议吗? 我不一定需要完整的工作示例,任何能让我上手的东西都会受到欢迎。
谢谢! J
2个回答

1
这个教程看起来很不错(你要找的是称为仿射变换的东西)!

1
这看起来很像,只是它是一个2D点的教程,而我有3D点。我注意到opencv中的函数更适用于2D而不是3D。我将尝试基于2D制作解决方案,但也许您知道3D点的解决方案? - JasperV

1
你可以将从旧位置到新位置的变换视为一个方程系统,其中未知数是矩阵中的元素。解决这个系统将给出矩阵。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接