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