Создание панорамного фото

Я хочу иметь возможность создать приложение для панорамных фотографий или что-то, что сможет сшивать несколько фотографий вместе (очень похоже на гугл фотосферу), но прежде чем я начну, я хочу получить немного больше информации о том, как это делается.

Это делается с использованием UIImagePickerController фреймворка?

Есть ли какие-либо другие полезные API или что-то еще, что я могу использовать?

Может кто-нибудь дать мне краткий обзор того, как это работает.


person Henry Brown    schedule 03.04.2016    source источник


Ответы (1)


Нет доступного собственного API с алгоритмом сшивания. Вам следует изучить стороннюю библиотеку OpenCV и проверить их stitcher документация

Основные ключевые шаги алгоритма сшивания:

  • Обнаружение ключевых точек в каждом входном изображении (например, Harris corners) и извлечение инвариантных дескрипторов изображений (например, SIFT)
  • Сопоставьте дескрипторы между изображениями
  • Используя RANSACрассчитайте матрицу гомографии и примените преобразование
person Neil Galiaskarov    schedule 03.04.2016
comment
Спасибо - как насчет функции панорамы, это часть структуры UIImagePickerController? - person Henry Brown; 03.04.2016
comment
UIImagePickerController позволяет вам выбирать/захватывать изображение из галереи/камеры устройства, он ничего вам не сшивает - person Neil Galiaskarov; 03.04.2016
comment
спасибо, но является ли функция панорамы частью этой структуры? Поэтому, если я сделаю снимок, у меня также будет возможность сделать панорамный снимок. - person Henry Brown; 03.04.2016
comment
Нет, к сожалению, теперь с помощью этого фреймворка нельзя снимать панораму в приложении. Реализация сшивания на вашей стороне. - person Neil Galiaskarov; 03.04.2016
comment
Спасибо это хорошо! Я нашел этот пост, который, я думаю, поможет мне сшивать изображения -ios-objectiv]" title="сшить составные несколько изображений по вертикали и сохранить как одно изображение ios objectiv%5d">stackoverflow.com/questions/11752885/. Хотя это отлично подходит для сшивания, но можете ли вы помочь с тем, как вы также сможете делать несколько фотографий (например, фотосферу) - опять же, какие-либо API или фреймворки и т. д.? - person Henry Brown; 03.04.2016
comment
Предоставленная вами ссылка не объединяет изображения в виде панорамы, они будут объединены в несколько независимых изображений. Я настоятельно рекомендую вам прочитать некоторые темы, связанные с компьютерным зрением. - person Neil Galiaskarov; 03.04.2016
comment
Хорошо, спасибо, я это сделаю - я также нашел это: github.com/foundry/OpenCVSwiftStitch, который также конкретно для свифта. - person Henry Brown; 03.04.2016