从三个3D点计算变换矩阵

时间:2013-05-08 14:35:49

标签: c++ opencv coordinate-systems affinetransform coordinate-transformation

我有一个3D坐标系,我使用3D摄像头跟踪三个外部点 所以我在(x,y,z)空间有三个点 下一帧我再次追踪这三点 我使用前三个点作为初始情况。现在我需要草拟一个转换矩阵,它给出了与初始位置相比较的第二个3点的平移,旋转和缩放。

现在我真的不知道怎么做。
有没有办法直接制作变换矩阵,还是首先必须计算出平移,旋转和缩放矩阵,然后制作这三个变换矩阵?

我使用opencv和qt在c ++中工作。 有人有什么建议吗?我不一定需要一个完整的工作示例,任何可以让我在路上的东西都值得赞赏。

谢谢! Ĵ

2 个答案:

答案 0 :(得分:1)

这个tutorial看起来很不错(你要找的是一个叫做仿射变换的对象)!

答案 1 :(得分:1)

您可以将旧位置转换为新位置作为方程组,其中未知数是矩阵的元素。解决这个系统会给你矩阵。