Позвольте мне увидеть, если есть вопрос правильно. У вас есть точка (x, y), которая подвергается вращению. Вы хотите найти новый (x, y).
Для этого вы можете легко использовать преобразование перспективы, доступное в openCV. Функция cv2.perspectiveTransform() принимает массив numpy с вашими исходными точками и другой массив numpy с вашей матрицей преобразования и возвращает массив numpy с преобразованными точками.
Проверьте эту ссылку, чтобы узнать о функции. Perspective Transform.
В этом случае ваша матрица преобразования должна быть матрицей 3x3.
a1 a2 a3 a4
a5 a6> Возьмите это в качестве матрицы преобразования
а7 а8 а9
a1, a2, a4, a5 будет ваша матрица поворота в этом случае.
набор a3, a6, a7, a8 до 0
Set а9 1
Это должно сделать это.
Формула, определяющая соотношение между исходными и целевыми координатами, находится в [документации 'warpAffine'] (http://docs.opencv.org/3.1.0/da/d54/group__imgproc__transform.html#ga0203d9ee5fcd28d40dbc4a1ea4451983). –