Найти положение шаблона/маркера внутри фотографии

Мне нужно найти маркер, подобный тем, которые используются в дополненной реальности. Вот так: alt textУ меня есть солидный опыт в алгебре и исчислении, но нет никакого опыта в обработке изображений. Я люблю Php, sql и прочее.

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

Основная идея состоит в том, чтобы сделать это как пакетный процесс, поэтому никакой интерактивности не требуется. Что ты предлагаешь? Вход: Образец изображения. альтернативный текст

Выход: Координаты и вектор нормали в 3D маркера.

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

Данные представители позволили мне размещать изображения, спасибо.


person Alfredo    schedule 09.11.2010    source источник
comment
Теперь вы можете добавлять изображения. Я надеюсь, они сделают вопрос более содержательным.   -  person Lazer    schedule 09.11.2010
comment
Спасибо @Lazer, теперь это гораздо более доступно :)   -  person Alfredo    schedule 09.11.2010


Ответы (2)


Вы всегда можете просмотреть библиотеки с открытым исходным кодом, такие как ARToolkit, и посмотреть, как это работает, но в целом в Чтобы получить 3D-координаты маркера, вам необходимо:

  1. Выполните калибровку камеры.
  2. Найдите маркер на изображении, используя, например, локальные функции.
  3. Используя откалиброванные параметры камеры и 2D-координаты маркера, выполните аппроксимацию 3D-координат.

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

person Adi    schedule 09.11.2010

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

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

person ssegvic    schedule 09.11.2010
comment
Можете ли вы сказать мне, что такое оценка положения камеры в перспективе и точке? - person Alfredo; 10.11.2010
comment
Алгоритм оценивает положение камеры по проекциям n известных 3D-точек (вы проверили первую ссылку в ответе выше?). В вашем случае вы можете использовать шесть углов внутреннего белого многоугольника. Для простоты вы можете выбрать систему координат трехмерного мира, чтобы трехмерные точки были (0,0,0), (2,0,0), (0,2,0), (1,2,0), (2). ,1,0), (1,1,0). Затем вы измеряете их положение в нормированных координатах изображения (нужна калиброванная камера). Наконец, вы вызываете линейный алгоритм PnP и получаете позу камеры. - person ssegvic; 10.11.2010