Я использую OpenCV 2.4 для преобразования видео в длинную (узкую) мозаику. Это мой первый раз, когда я использую OpenCV, но до сих пор мне удалось с некоторым успехом:
- Получить кадры из видео.
- Получите дескрипторы ключевых точек с помощью SIFT.
- Отсортируйте выбросы с помощью RANSAC
- Найдите матрицу гомографии.
Проблема заключается в том, что я применяю матрицу гомографии к одному из кадров/изображений и пытаюсь создать мозаику. Иногда я получаю сообщение об ошибке, жалующееся на то, что размер целевой матрицы для warpPerspective() слишком мал. Чтобы обойти это, я думаю, что слишком большой размер, чтобы убедиться, что результат подходит. Однако после того, как копии кадров были объединены вместе, у меня есть огромное изображение, которое в основном черное. Итак, мой вопрос: как я могу сделать это по-умному? Как я могу рассчитать размер матрицы назначения, которая мне понадобится для мозаики, ДО того, как я передам ее в warpPerspective()? Я пробовал что-то с ROI/Rect, но я не совсем уверен, что я с этим делаю.
Если у вас есть какие-либо предложения, я был бы бесконечно благодарен.