Перейти к содержимому
Compvision.ru
trinka

Элементы матрицы гомографии

Recommended Posts

Привет! Получил в opencv матрицу гомографии, нужно получить из нее некоторые параметы, например, углы поворота. так же нужно добавить к ней матрицу сдвига.

весь инет уже облазил, нигде нет точного описания значений элементов матрицы. прощу дать точный линк!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот точный линк, с Вас листинг примера для OpenCV :)

https://gist.github.com/740979

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

там все понятно, кроме последних 3 строк:

Transformation of R into - in Frobenius sense - next orthonormal matrix

svd.decompose( R, 3, 3 );

transposeMat( svd.V, vT );

multMat( svd.U, vT, R );

переводят в какой-то другой базис что ли? зачем?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я тоже не очень понял, видимо при проведенных действиях не сохраняется свойство ортонормальности базиса, последними тремя строками они, вероятно, это подправляют.

Здесь кажется та же схема: http://urbanar.blogspot.com/2011/04/from-homography-to-opengl-modelview.html

А тут матан :)

http://hal.inria.fr/docs/00/17/47/39/PDF/RR-6303.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

первую часть задачи решил.

как же мне быть со сдвигом? трабла с cvWarpPerspective: часть картинки не видно после преобразования. значит нужно править матрицу гомографии. нужна еще инфа =) какой элемент за что отвечает. или как-то по-другму можно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Привет! Получил в opencv матрицу гомографии, нужно получить из нее некоторые параметы, например, углы поворота. так же нужно добавить к ней матрицу сдвига.

Вот здесь мы немного обсуждали сдвиг.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

есть вопрос!

можно ли "вид сбоку и сверху" (как на рисунке) привести к "линейному виду", как бы вид сверху? понятно, что текстуры исказатся и можно приводить только плоские пов-ти. я имею ввиду: в реале размер квадрата 20х20 см. от квадрата до шкафа 1,40м. делаю вычисления, получаю что до шкафа - 1м.(по гомографии, квадрат становится квадратным).

расстояния при этом искажаются. это я делаю неверное предположение что гомография позволяет решить такую задачу, или где-то ошибся в коде программы?

---

все разобрался. нужно очень точно подбирать точки для построения матрицы гомографии. пара пикселей вправо в одной точке, пара пискселей вверх в другой - и уже заметное искажение

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

сейчас работаю с видео 640-480 25фпс. есть возможность заснять пару фоток на высоком разрешении (1280), для того чтобы получить более точную матрицу гомографии. саму матрицу могу полчить(на 1280). как ее следует преобразовать, чтобы она выполняла тоже преобразование, но для низкого разрешения(640)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну поворот (коэффициенты 11 12 21 22) так и остаются, сдвиг(13 23) надо отскейлить пропорционально размерам изображения.

остальные параметры не знаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×