@MeeLeSh

Как сшить панораму неба?

Есть много фоток неба, они должны накладываться и между ними есть общие куски в результате должно получится что-то вроде этого(скрины). На данный момент мы используем hugin 2014ого года, который сшивает нам эти изоражения. У нас возникла проблема с hugin как по перформансу(в будущем нам нужно будет делать это в реал тайме и делать видео неба), а также это не очень удобное решение. Было решено перейти на openCV. Я сделал ресерч и добился неплохих результатов. Но оно работает, только когда на небе есть обалка, по которым openCV и находит соответсвия между изображениями, но если небо полностью чистое, то оно не сшивает изображения в панораму. Вопрос заключается в том, возможно ли openCV указать между какими фотографиями необходимо искать соответсвия или задать точки на фотографиях по которым необходимо сшивать изображения. Готовые библиотеки не решают эти проблемы, потому что, то, что я нашел это библиотеки, которые использую high level api от openCV, а там алгоритмы использую полный перебор(между фотографиями для поиска общих пикселей между изображениями), в нашем случае мы знаем где должны быть какое изорабжение(углы и все параметры камеры).6512dfc51a975279882721.png6512dfce14908347848573.png
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ответы на вопрос 2
trapwalker
@trapwalker
Программист, энтузиаст
Интересная задачка. Никогда ее не решал, поэтому пользу от моего ответа вам, наверно, не будет, но...
Вы вот чем сформировали изображение проекции кадров на первой картинке в вопросе?
Если вы смогли спроецировать кадр, то также можно спроецировать и каждый пиксель. Формулы те же, вопрос интерполяции. Нужно просто спроецировать ваши фото на одну картинку, а при одинаково настроенной фиксированной экспозиции по цвету границ видно быть не должно.
Также можно откалибровать и поправочные искажения локальных участков для каждой камеры. Это будут векторные поля, сформированные размытием опорных поправочных векторов при калибровке.
То есть берете кадры звёздного неба, отмечаете одинаковые точки на ваших проекциях, двигаете проекции, чтобы точки совпали и надеетесь, что ваша монтировка не погнётся=).
Сама склейка будет происходить попиксельно. Каждый кадр попиксельно проецируется в отдельный слой с вдвое бОльшим разрешением, так каждый проецируемый пиксель будет немного четырёхугольником с вещественными координатами, а затем спроецированные полигоны растеризуете и усредняете перекрытия.
Задачка выглядит не особо сложной. Основная задача в подборе формул проецирования.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы