OmgZomg 2 Report post Posted December 15, 2020 Угол поворта камеры определяю след.образом angle = math.atan2(H[1, 0], H[0, 0]) где H - матрица гомографии. Вопрос - в чем он измеряется? И еще вопрос: Из матрицы гомографии можно получить сдвиг изображения? Share this post Link to post Share on other sites
Nuzhny 243 Report post Posted December 15, 2020 1. Радианы. Но в общем случае твой способ может не работать. 2. Сдвиг - это H[0, 2] и H[1, 2]. Но для разных пикселей он разный. 1 Share this post Link to post Share on other sites
OmgZomg 2 Report post Posted December 15, 2020 Just now, Nuzhny said: 1. Радианы. Но в общем случае твой способ может не работать. Почему может не работать? Как тогда правильно? Share this post Link to post Share on other sites
Nuzhny 243 Report post Posted December 15, 2020 Гомография же задаёт в общем случае перспективное преобразование. В этом случае, между плоскостями двух снимков есть 2 угла: поворота и наклона. И они, кажется, связаны друг с другом. Если мы имеем дело с аффинным преобразованием, то да - у нас есть один угол поворота и всё. 1 1 Share this post Link to post Share on other sites
OmgZomg 2 Report post Posted December 16, 2020 Что-то не получается у меня нормальные сдвиги получить. Может подскажете как получить сдвиги по X и Y? Share this post Link to post Share on other sites
Nuzhny 243 Report post Posted December 16, 2020 А что такое сдвиги? Матрица гомографии хранит сдвиг центра в координатах H[0, 2] и H[1, 2]. Понятно, что с учётом поворота, наклона и изменения размера, для каждого пикселя будет свой сдвиг. И чтобы его получить, надо дополненные координаты пикселя умножить на матрицу гомографии. То есть [xi_new, yi_new, 1] = H * [xi, yi, 1]. Ещё можно предположить, что требуется найти разложение матрицы гомографии на составляющие (на роизведение матриц для отдельных преобразований): сдвиг, вращение, скейл... Это тоже решается, но, кажется, не однозначно. Share this post Link to post Share on other sites
Smorodov 578 Report post Posted December 23, 2020 Еще ссылка в тему: https://github.com/RaubCamaioni/OpenCV_Position И статья к проекту: https://medium.com/analytics-vidhya/using-homography-for-pose-estimation-in-opencv-a7215f260fdd 1 Share this post Link to post Share on other sites