在C ++中使用OpenCV计算仿射运动模型系数

时间:2012-08-01 02:25:52

标签: opencv camera video-processing affinetransform

为了正确表示相机的运动特性,我必须在视频中找到不同的相机操作(如缩放,平移,旋转和倾斜)。 可以通过基于afine运动模型的系数设置阈值来确定这些相机操作 参考:Efficient camera motion characterization for MPEG video indexing

下面是运动矢量(u,v),2×1矩阵表示为宏块(x,y)的位置,2×1矩阵。 (a1,a4)是另一个2x1矩阵,(a2,a3,a,a6)是2x2矩阵。

row1    u             a2    a3         x            a1
                  = [          ] *  [     ]    + [      ]
row2    v             a5    a6         y            a4


Phi = (a1, a2, a3, a4 , a5, a6)  are the coefficients (parameters) generated after applying Afine Motion Model fitting over MVF (Motion Vector Fields).

Further Camera Operations can easily be defined in terms of these parameters.
Such as,    pan = a1,
            tilt= a4,
            div (zoom)  = 0.5 * (a2 + a6)
     and    rot = 0.5 * (a5 - a3)

所以我的问题是可以使用哪些OpenCV API /函数来确定这些参数。 感谢

1 个答案:

答案 0 :(得分:2)

我找到了这个问题的答案。 我们可以使用纸上给出的算法找到这些参数。

“J. Konrad和F. Dufaux。改进了N3的全局运动估计.ISO / IEC JTC1 / SC29 / WG11 M3096,1998。”

由于