Я задал здесь много вопросов, связанных с склейкой изображений, потому что я НАСТОЛЬКО тупой, чтобы понять некоторые вещи :(
В настоящее время я работаю над сшивкой многокамерных изображений на основе гомографии, и у меня есть некоторые проблемы, которые я не могу решить самостоятельно. Я использую Visual Studio 2008/2010 и OpenCV 2.3.1 для работы над своим проектом.
Я собираюсь описать их ниже:
Во-первых, я добавил кое-что (код, видео и т. д.), которые будут упомянуты позже в следующей ссылке, поскольку в настоящее время я могу опубликовать не более двух ссылок...
https://docs.google.com/folder/d/0B2r9FmkcbNwAM2drVHVJUktnS3M/edit
Пожалуйста, взгляните на видео "Stitching_HomographyBased.avi", которое находится по ссылке, упомянутой выше.
12-секундное видео показывает, как сейчас работает мой код. Я использую 2 веб-камеры, размещаю их как можно ближе и в разных ориентациях с примерно 30% ~ 50% перекрывающейся области. Изображение 1 и Изображение 2 показывают изображения, снятые двумя камерами по отдельности. Более широкое окно, конечно же, показывает совмещенную панораму.
Однако на видео показана проблема, состоящая в том, что искаженное изображение неправильно выровнено (см. 0:04, где мой коллега по лаборатории стоит на границе двух изображений)
Проведя некоторый обзор связанных исследований, я предположил, что одной из основных причин, которые привели к такому результату, может быть тот факт, что я не выполнил калибровку обеих камер, а радиальные и тангенциальные искажения вызывают ошибку. Правильно ли то, что я предполагаю, или могут быть какие-то другие факторы, которые также вызывают это несоответствие?
Затем я попытался выполнить калибровку камеры с помощью существующего кода для калибровки камеры и шахматной доски, но продолжал получать странные результаты. Пожалуйста, посмотрите другое видео под названием «BadCalibration.avi» по ссылке. Что не так с тем, как я калибрую камеру?
Мой код также загружен по ссылке выше и называется Stitching1024.cpp.
Спасибо за помощь.