2016-11-10 2 views
0

Я хочу найти координацию точки после вращения с матрицей вращения в OpenCV? Нужно ли это найти, умножая точку на вращающуюся матрицу? (Точка, которая сбивает с толку то, что в матрице вращения OpenCV является 2 * 3 не 2 * 2, так что я немного запутался о том, что)Получить (x, y) точки после поворота на изображении (python, openCV)

Заранее спасибо

+0

Формула, определяющая соотношение между исходными и целевыми координатами, находится в [документации 'warpAffine'] (http://docs.opencv.org/3.1.0/da/d54/group__imgproc__transform.html#ga0203d9ee5fcd28d40dbc4a1ea4451983). –

ответ

1

Позвольте мне увидеть, если есть вопрос правильно. У вас есть точка (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

Это должно сделать это.