понедельник, 21 июня 2010 г.

Soft : Сшивание фотографий для панорамы

Сам я фотографией не особо интересуюсь, уж извините. Однако приходилось пару раз соединять кадры для панорамы... Поэтому о том, насколько нынче просто сшивать несколько фотографий в одну - ни могу не рассказать.

Речь пойдет о программе Hugin, которая доступна для Windows, Linux и MacOS. То, что я не особо дружу с фотоаппаратом может быть даже и плюсом, потому как если у меня вышел такой результат на простой мыльнице (Canon A630), то значит ее может использовать любой любитель.

Hugin сама определяет, какие кадры к какой части панорамы относятся. Также сама может исключать повторяемые объекты - лично видел набор фотографий для панорамы людной площади, где на 2 или 3 из порядка 8 фотографий присутствовала одна и та же пара людей. В результате на собранном кадре эта пара была в одном экземпляре! Так что все, что нужно от человека перед сшиванием фотографий - указать, какие собственно кадры нужно объединить. Однако это не означает, что для профессионала там не будет где покопаться - по-моему там можно настроить все. От типа проекции (даже не представляю, что за "эквидистантная" проекция) и типа объектива, до контрольных точек и, извиняюсь, оптимизатора. Также с созданной панорамой можно творить разные интересные вещи.
Однако то, что вы увидите после объединения фотографий может вас не совсем обрадовать. Я например, замучился со светом, т.к. по началу фотографировал при искусственном освещении с автонастройками, почему все время получал как минимум один кадр из 3 с другими цветами. Но оказалось, что после создания самой панорамы все эти различия куда-то исчезают сами собой. Как метко сказал мой друг - в жизни хоть что-то, но должно быть необъяснимым, своего рода чудом. Так что я решил не углубляться в математику и списать это на чудо;)

Собственно вот несколько получившихся фотографий. Прошу заметить, панорамы с таким количеством зелени довольно тяжело соединить воедино, ведь где там найти контрольные точки?

Мне пришлось переконвертировать все фотографии в jpeg, чтобы они не такими тяжелыми были, так что в оригинале все что черное - прозрачный фон. Думаю там даже каждая фотография - отдельный слой. Также все фотографии кликабельны.
Вот панорама из 2 уровней в 4 и 3 фотографии соответственно

Если присмотреться ко всем предыдущим фотографиям, то можно найти зоны пониженной четкости, где собственно и стыкуются фотографии. Однако следующая у меня по-моему получилась лучше всего. Что и не странно, т.к. на кадрах есть объекты со строгими границами (здесь тоже 3 фотографии, как и на 1 панораме)

Ну и напоследок панорама со 180 градусной разверткой. Однако здесь повезло чуть меньше, рельсы не везде сошлись, да и с освещением не все в порядке. В общем просто так такое не дастся

Еще хочется упомянуть о скорости работы программы. На соединение 3-x фотографий ушло 20-25 секунд, а на 8 - чуть больше минуты. Также в настройках присутствует возможность выбора количества используемых процессоров, однако у меня, несмотря на то, что он сам правильно указал все 3 ядра, загружал почему-то только одно...

В заключение дам ссылку на страницу проекта на SourceForge, где можно найти как бинарники, так и исходники. В общем я больше не боюсь, что сделав несколько фотографий для панорамы, они так и останутся несколькими фотографиями)

3 комментария:

ifel комментирует...

Давай я попробую склеить рельсы программой, которой я все клею? Она коммерческая и названия писать не буду, чтобы не выглядела реклама.

Напиши мне в мыло, если интересно.

Анонимный комментирует...

Да, интересно было бы сравнение с коммерческим аналогом...

4ybaka комментирует...

@vovans:
К сожалению, такового не имею.
@ifel:
Почты не нашел. Напиши мне на почту (в профиле указана).