Как вычислить правильный перевод для углов больше, чем 0 градусов от матрицы гомографии в Python OpenCV? - PullRequest
0 голосов
/ 28 сентября 2018

Скажем для поворота на 180 градусов между двумя изображениями, хотя технически после поворота перевод должен быть близок к нулю.Перевод, который я получаю из функции cv2.findhomography с использованием точек из двух повернутых на 180 градусов изображений, отличается от размера изображения.Существует ли математический способ оценки правильного вектора перевода (tx, ty) на основе поворота

Кроме того, влияет ли масштаб на это значение перевода из матрицы гомографии

1 Ответ

0 голосов
/ 01 октября 2018

Гомографии вращают изображения о происхождении;т.е. (0, 0) --- не центр изображения.Это означает, что если вы сначала переведите изображение таким образом, чтобы центр изображения находился в точке (0, 0), а , а затем применили вашу ротационную гомографию, она будет вращаться вокругцентр.И тогда вы можете перевести обратно.Поскольку гомографии составляют, вы можете просто создать для этого единственную гомографию, которая представляет собой просто комбинацию этих трех операций - перевести, повернуть, перевести обратно.

Ранее я написал довольно подробный ответ на этот вопрос, чтоимеет дело с "как найти границы вашего изображения после применения омографии" (так что это более общий вопрос, чем этот вопрос), который вы можете проверить здесь .Кроме того, этот вопрос подтолкнул GitHub-репозиторий к коду, чтобы сделать именно это, что вы можете проверить здесь .

...