Ответ 1
Эти люди могут продать вам лицензию для библиотеки С++. Их код попадает в блестящее приложение Autostich, доступное в App Store.
Autostitch основан на обнаружении функции изображения SIFT. SIFT и многие другие методы доступны в openCv С++ library. Предварительно построенная инфраструктура iOS доступна с этого сайта.
обновление
OpenCV имеет класс Stitcher
с насыпью документации...
"Высококачественный графический слайдер. Его можно использовать в этом классе, не зная о полном конвейере стежков. Однако для достижения более высокой стабильности строчки и качества конечных изображений, по крайней мере, знакомых с теорией, рекомендуется ( см. Строка трубопровода).
обновление 2
Если вы раньше не использовали openCV, первое препятствие - собрать библиотеку и установить ее в свой проект. Может показаться сложным, см. Мои вопросы и ответы здесь (установка и работа OpenCV) и здесь (пример как сохранить код С++ отдельно от objective-c, с образцом проекта github).
Когда вы работаете openCV, это должен быть самый быстрый способ начать с вашего запроса:
Stitcher::stitch(InputArray images, OutputArray pano)
Параметры:
изображения - Входные изображения.
pano - Final pano.
Затем, чтобы ускорить его - если у вас есть, - укажите интересующие регионы прямоугольники (указывающие, где фотографии перекрываются)
Stitcher::stitch(InputArray images, const std::vector<std::vector<Rect>>& rois, OutputArray pano)
Вы можете выкопать конвейер, чтобы оптимизировать многие детали процесса, но этого должно быть достаточно, чтобы вы начали.
Если вы посмотрите в папке samples/cpp дистрибутива openCV, вы увидите пару примеров сшивания, stitching.cpp
и stitching_detailed.cpp
.
Чтобы обеспечить входные изображения, которые вы хотите подключить к камере, и создать достойный пользовательский интерфейс, чтобы помочь пользователю в выборе правильного изображения (например, с хорошими перекрытиями).
Если вы хотите посмотреть на существующий проект с использованием openCV, вот для андроида, который утверждает, что делает то, что вам нужно - разное платформе, но принципы будут одинаковыми (с использованием интерфейса java в те же библиотеки). Особенно обратите внимание на PanoActivity.java.
обновление 3
Я загрузил очень простой пример в github. Я впечатлен тем, насколько хороша работа, без какой-либо оптимизации или настройки. Он сшивает образцы фотографий в моем проекте github почти так же, как и приложение Autostitch.
обновление 4 через некоторое время... Я создал новый образец проекта обновлен для использования с Swift и Cocoapods