Сшивание изображений с нескольких камер
У меня был проект сшивания изображений с нескольких камер, но я думаю, что у меня есть узкое место... У меня есть несколько вопросов по этой проблеме.
Я хочу попытаться установить их на транспортном средстве в будущем, и это означает, что относительное положение и ориентация камер ФИКСИРОВАНЫ.
Кроме того, поскольку я использую несколько камер и пытаюсь сшить изображения с них с помощью ГОМОГРАФИИ, я расположу камеры как можно ближе, чтобы избежать ошибок (из-за того, что фокусы камер не находятся в одинаковом положении и это невозможно, поскольку камеры занимают определенное пространство.) могут быть уменьшены.
Вот короткое видео моего эксперимента. http://www.youtube.com/watch?v=JEQJZQq3RTY
Результат сшивания очень ужасен, как показано там... Хотя сцена, снятая камерами, является статичной, гомография все еще меняется.
Следующая ссылка - это код, который я сделал до сих пор, а code1.png и code2.png - это картинки, которые показывают часть моего кода в Stitching_refind.cpp.
https://docs.google.com/folder/d/0B2r9FmkcbNwAbHdtVEVkSW1SQW8/edit?pli=1
Я изменил некоторое содержимое в коде несколько дней назад, например, для выполнения шагов 2, 3 и 4(пожалуйста, проверьте упомянутые выше рисунки 2 png) ТОЛЬКО ОДИН РАЗ.
Подводя итог, мои вопросы:
1. Можно ли обнаружить перекрывающиеся регионы перед вычислением возможностей? Я не хочу вычислять функции на всех изображениях, так как это приведет к увеличению вычислительного времени и несовпадений. Интересно, возможно ли просто настроить компьютерные функции в области перекрытия двух смежных изображений?
2. Что я могу сделать, чтобы сделать полученную гомографию более точной? Некоторые люди говорили о КАЛИБРОВКЕ КАМЕРЫ и пробовали другой подходящий метод. Я все еще новичок в Computer Vision... Я пытался изучить некоторые материалы о калибровке камеры, но до сих пор не знаю, для чего она.
Около 2 месяцев назад я задал подобный вопрос здесь: возникли некоторые трудности при сшивании изображений с использованием OpenCV
где один из ответивших Крис сказал:
Звучит так, будто вы делаете это разумно, но если у вас есть доступ к обеим камерам, и они останутся неподвижными по отношению друг к другу, то калибровка в автономном режиме и простое применение преобразования онлайн сделают ваше приложение более эффективным.
Что означает "калибровка в автономном режиме"? и что это помогает?
Спасибо за любые советы и помощь.
1 ответ
Как написал Крис:
However, your points are not restricted to a specific plane as they are
imaging a 3D scene. If you wanted to calibrate offline, you could image
a chessboard with both cameras, and the detected corners could be used
in this function.
Калибровка в автономном режиме означает, что вы используете некоторый шаблон калибровки, который легко обнаружить Затем вычислите матрицу преобразования. После этой калибровки вы применяете эту (ранее вычисленную) матрицу к полученным изображениям, она должна работать для вас.