Сшивание изображений с нескольких камер

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

Я хочу попытаться установить их на транспортном средстве в будущем, и это означает, что относительное положение и ориентация камер ФИКСИРОВАНЫ.

Кроме того, поскольку я использую несколько камер и пытаюсь сшить изображения с них с помощью ГОМОГРАФИИ, я расположу камеры как можно ближе, чтобы избежать ошибок (из-за того, что фокусы камер не находятся в одинаковом положении и это невозможно, поскольку камеры занимают определенное пространство.) могут быть уменьшены.

Вот короткое видео моего эксперимента. 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.

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

Другие вопросы по тегам