5

我正在尝试理解和使用 OpenCV。我想知道是否可以找到并测量两个框架之间的角度。

我解释说:凸轮是固定的,框架可以围绕中心旋转并且不会移动。现在我设法手动旋转,我希望能够比较帧并返回角度。例如 :

double getRotation(Image img1, Image img2) {
  //Compare the frames

  //Return the value
}

然后我按照那个角度旋转。

4

2 回答 2

3

如果您能够检测帧上的静态对象,例如背景,那么您可能会在cvGoodFeaturesToTrack背景上找到名为 good_features_to_track ( ) 的点,并使用optical_flow ( ) 跟踪这些点cvCalcOpticalFlowPyrLK

如果旋转仅在“xy”平面上,您可以使用cvGetAffineTransform.

由于只允许旋转(不允许平移和缩放),因此使用变换矩阵确定旋转角度并不困难,由cvGetAffineTransform. 该矩阵看起来像(见维基百科):

在此处输入图像描述

其中 \theta 是旋转角度

于 2011-05-03T11:49:54.550 回答
0

好吧,这可能非常棘手,只是一个更简单的解决方案可能是找到框架的霍夫线。当然,您需要确定可以在两帧之间跟踪的最佳和稳定线在哪里,一旦可用,您就可以找到两帧之间的角度。安德烈所建议的寻找角度的方法也应该是可用的。

于 2011-05-03T17:15:21.760 回答