3

我正在使用openCV的estimateRigidTransform来稳定一系列视频帧,效果很好。

该函数返回一个 2x3 变换矩阵 M:

|  a_11 a_12 b_1 |
| -a_12 a_11 b_2 |

据我了解,b元素代表平移,a元素用于进行缩放和旋转。

我想做的是从 M 获取全局比例 - 一个代表相机缩放因子的值。如何从a值中正确计算?


为了澄清我想要得到的东西,这里有一个例子。假设 estimateRigidTransform 为下面的第二帧计算关于第一帧的变换矩阵 M:

在这种情况下,全局缩放因子应该在 2 左右。我的问题是如何从 M 中获取这个值?

4

1 回答 1

3

好的,经过额外搜索后,我在这里找到了一个很好的答案:https ://math.stackexchange.com/questions/13150/extracting-rotation-scale-values-from-2d-transformation-matrix

其中“缩放”由 s_x 和 s_y 表示。这两个值大部分是相等的(因为相机捕捉到的视频在两个方向上都是相等的),所以我可以取其中一个。

于 2014-05-26T17:41:34.670 回答