Если вы можете обнаружить статические объекты, например фон, в кадрах, то вы можете найти точки с именем good_features_to_track (cvGoodFeaturesToTrack
) на фоне и отслеживать эти точки с помощью optical_flow (cvCalcOpticalFlowPyrLK
).
Если вращение происходит только на равнине «ху», вы можете обнаружить вращение с помощью cvGetAffineTransform
.
Поскольку допускается только вращение (без перемещения и масштабирования), нетрудно определить угол поворота с помощью матрицы преобразования, полученной с помощью cvGetAffineTransform
.Эта матрица выглядит следующим образом (см. Википедия ):
Где \ theta - угол поворота