определить правильное место с помощью матрицы гомографии (AR)

Я использую серфинг в emgu cv lib для обнаружения и распознавания моего объекта. Мне нужно вставить 3D-модель вместо этого объекта. У меня есть матрица гомографии. Я хочу знать, как получить матрицу представления модели ShargGl из этой матрицы гомографии. Я хочу шаги, которые могут привести к правильной матрице просмотра модели, где я могу разместить 3D-объект, любой ответ поможет мне заранее спасибо


person Sara Magdy    schedule 24.06.2012    source источник
comment
я нахожу решение здесь stackoverflow.com/questions/5342330/, но я не знаю, как получить внутренние параметры (калибровка камеры), пожалуйста, мне нужен быстрый ответ   -  person Sara Magdy    schedule 25.06.2012


Ответы (2)


Посмотрите на AForge.net. Автор этой библиотеки сделал что-то очень похожее, используя глифы, а затем вставив свою собственную 3D-модель вместо глифа. Библиотека обрабатывает 3D-позу глифа и применяет ее к 3D-модели. Проект можно найти здесь

http://www.aforgenet.com/projects/gratf/

Я не знаю, как бы вы сделали то же самое с Open CV и Emgu.

person nameeri    schedule 25.06.2012

Вы должны просто откалибровать свою камеру, используя метод Чжана, чтобы получить матрицы камеры, а затем использовать H-разложение, как описано в ссылке, которую вы нашли. Подводить итоги:

  1. Выполните классическое обнаружение углов шахматной доски (код emgucv здесь< /а>)
  2. Увеличьте точность обнаружения углов до субпиксельного уровня, вызвав функцию FindCornerSubPix().
  3. Наконец, используйте CameraCalibration.CalibrateCamera() для расчета внутренних параметров камеры.

Надеюсь это поможет

person Luca Del Tongo    schedule 26.06.2012