Как найти перекрывающуюся область между изображениями в OpenCV?

Я пытаюсь реализовать альфа-смешивание с двумя изображениями для сшивания изображений. Мое первое изображение - это & gt; enter image description here

вот мое второе изображение - & gt; enter image description here

вот мое изображение результата - & gt; enter image description here

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

Ответы на вопрос(2)

вы видели новый модуль «сшивания», представленный в OpenCV 2.3?

It предоставляет набор строительных блоков для сшивания конвейера, включая этапы смешивания и «нахождения перекрытия» (например, регистрации). Вот документация:http: //docs.opencv.org/modules/stitching/doc/stitching.htm и пример приложения для шитья: Stitching_detailed.cpp

Я рекомендую вам изучить код этого образца для лучшего понимания деталей.

В отношении обнаружения совпадения существует несколько общих подходов в компьютерном зрении:

оптический поток сопоставление шаблонов соответствие соответствия

Для вашего случая я рекомендую последний - он очень хорошо работает на фотографиях. И этот подход уже реализован в OpenCV - изучите исходный код OpenCv и посмотрите, кcv::detail::BestOf2NearestMatcher работает

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

Во объяснения о SIFT и панорамной строчке.

ВАШ ОТВЕТ НА ВОПРОС