我正在尝试理解和使用OpenCV。我想知道是否有可能找到并测量两个帧之间的角度。
我解释一下: 摄像机固定不动,框架可以围绕中心旋转而不移动。目前我已经手动旋转,并希望能够比较帧并返回角度。例如:
double getRotation(Image img1, Image img2) {
//Compare the frames
//Return the value
}
然后我按照那个角度旋转。
cvGoodFeaturesToTrack
)的点,并使用optical_flow(cvCalcOpticalFlowPyrLK
)跟踪这些点。cvGetAffineTransform
检测旋转。cvGetAffineTransform
获得的变换矩阵不难确定旋转角度。该矩阵类似于(请参见wikipedia):
\theta是旋转角度
这可能非常棘手,一个更简单的解决方案可能是找到帧的霍夫线。当然,您需要确定最佳和稳定的线在哪里,您可以在两个帧之间跟踪这些线,一旦可用,您就可以找到两个帧之间的角度。Andrey建议的查找角度的方法也应该可用。