Давно обещанное: про панорамы
Sep. 12th, 2010 11:29 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Покажу, как я делаю панорамы. Сразу оговорюсь, что криворука и косоглаза ни в коем случае не претендую на какое-либо ноу-хау и мастерство. Это просто то решение, которое я нашла для себя, и которое меня практически полностью устраивает. Чур, ногами не бить :)
Для начала - сама программа. Долго искала что-то действительно хорошее с графическим интерфейсом, под Винды и при всём при этом небольшое и бесплатное. Нашла! :) Рекомендую - Hugin!!! Заходим по ссылке и жмём на большую зелёную кнопку, которая предлагает скачать подходящий дистрибутив.

Устанавливаем программу с опциями по умолчанию. Как и многие программы с открытым кодом, Hugin поддерживает широкий спектр языков, включая русский. Язык можно переключить просто из менюшки:


Теперь - к фотографиям. Здесь я взяла первый попавшийся набор, не самый лучший.
Важно: фотографии должны перекрываться и иметь достаточное количество деталей, по которым и будет проводиться сшивка. Я практически всегда снимаю без штатива. Небольшая пляска горизонта проблемой не является ;)
Загружаем фотографии:
Вкладка "Ассистент" -> "1. Загрузить снимки..."

Если ваши кадры расположены не по порядку, во вкладке "Снимки" их можно переставить как надо. И выбрать кадры, по которым будет калиброваться положение и экспозиция (это могут два разных кадра; кнопки внизу).

Дальше во вкладке "Ассистент" жмём на следующую кнопочку "2. Объединить..."
При этом программа осознаёт, что ей подсунули набор снимков и пытается найти набор контрольных точек для сшивки. Здесь нас поджидает первая и в общем-то единственная засада: дополнительная программка для автоматического поиска контрольных точек в виндовском дистрибутиве просто отсутствует. Я нашла исходники, но доводить их до ума пока пока нет ни времени, ни желания.

Поэтому просто нажимаем на "ОК" во всех злобно выскакивающих окошках и оказываемся во вкладке "Контрольные точки". Мы ведь хотим получить красивую панораму? Тогда просто методично задаём контрольные точки вручную. По моему опыту, 5 на пару кадров вполне достаточно. Советую включить все опции, предлагаемые программой в правом нижнем углу (автоматическая точная коррекция, сразу добавлять точку, автоматическая оценка смещения) - это существенно упрощает процесс и экономит время.
При попытке выбрать точку а) показывается этот участок в масштабе 100% и б) в квадратике еще более увеличенный фрагмент под курсором для точной коррекции. После этого просто кликнуть по этому же участку на втором кадре - программа автоматически найдёт эту точку и добавит как контрольную.

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

Пройдя всю серию кадров (сшивать первый с последним совсем не обязательно), мы переходим к самому священнодействию сшивки ;)
Переключаемся в следующую вкладку - "Оптимизатор" и жмём кнопку "Оптимизировать!" :)

Подтверждаем, что хотим применить рассчитанные параметры.
Дальше идём во вкладку "Экспозиция" -> "Оптимизировать!". В окошке говорим ОК. После некоторых раздумий программа покажет рассчитанные циферки, снова со всем соглашаться ;)))

Теперь в менюшке найти кнопочку "GL" - жмём!!! Выскочит вот такое окошко с превьюшкой нашей панорамы.

Дальше жмём на кнопки "По центру", "Уместить " и "Выровнять". Вот результат:

Еще можно нажать на кнопку "Фотометрика" и ужаснуться. На самом деле, пугаться рано - в результате всё будет несравнимо лучше.

Гораздо важнее нажать на "Перетаскивание" и поправить остаточную кривизну горизонта, просто двигая мышкой кусочки панорамы.

Еще одна важная операция - кадрирование.

После этого вся подготовка позади. Закрываем это окошко (не через меню, просто давим на крестик) и идём во вкладку "Сшиватель".
Говорим программе рассчитать поле зрения и оптимальный размер. Выбираем формат и качество конечного файла (по умолчанию стоит TIFF). И жмём волшебную кнопку "Собрать!"

Программа спросит, куда сохранить всё это счастье, после чего вылезет служебное окошко с информацией о процессе сшивки. Время обработки сильно зависит от мощности компьютера, размера и количества кадров в панораме. По окончании сшивки служебное окошко просто молча закроется.
Проверьте получившуюся картинку.
Если не нравится яркость/цвета, можно выбрать другой кадр в качестве эталона для экспозиции. После этого надо будет переоптимизировать экспозицию (во вкладке "экспозиция") и пересобрать панораму.
Если остались черные края, снова зайти в "GL" и поправить кадрирование. После этого заново рассчитать поле зрения и оптимальный размер во вкладке "Сшиватель" и пересобрать панораму.
Проект можно сохранить, чтобы вернуться к обработке этой панорамы еще раз. Я не храню исходные кадры в JPEG, так что и обработку панорамы не сохраняю.
Вот вроде и всё. А результат покажу отдельным постом, чтобы здесь не мешался.
Для начала - сама программа. Долго искала что-то действительно хорошее с графическим интерфейсом, под Винды и при всём при этом небольшое и бесплатное. Нашла! :) Рекомендую - Hugin!!! Заходим по ссылке и жмём на большую зелёную кнопку, которая предлагает скачать подходящий дистрибутив.

Устанавливаем программу с опциями по умолчанию. Как и многие программы с открытым кодом, Hugin поддерживает широкий спектр языков, включая русский. Язык можно переключить просто из менюшки:


Теперь - к фотографиям. Здесь я взяла первый попавшийся набор, не самый лучший.
Важно: фотографии должны перекрываться и иметь достаточное количество деталей, по которым и будет проводиться сшивка. Я практически всегда снимаю без штатива. Небольшая пляска горизонта проблемой не является ;)
Загружаем фотографии:
Вкладка "Ассистент" -> "1. Загрузить снимки..."

Если ваши кадры расположены не по порядку, во вкладке "Снимки" их можно переставить как надо. И выбрать кадры, по которым будет калиброваться положение и экспозиция (это могут два разных кадра; кнопки внизу).

Дальше во вкладке "Ассистент" жмём на следующую кнопочку "2. Объединить..."
При этом программа осознаёт, что ей подсунули набор снимков и пытается найти набор контрольных точек для сшивки. Здесь нас поджидает первая и в общем-то единственная засада: дополнительная программка для автоматического поиска контрольных точек в виндовском дистрибутиве просто отсутствует. Я нашла исходники, но доводить их до ума пока пока нет ни времени, ни желания.

Поэтому просто нажимаем на "ОК" во всех злобно выскакивающих окошках и оказываемся во вкладке "Контрольные точки". Мы ведь хотим получить красивую панораму? Тогда просто методично задаём контрольные точки вручную. По моему опыту, 5 на пару кадров вполне достаточно. Советую включить все опции, предлагаемые программой в правом нижнем углу (автоматическая точная коррекция, сразу добавлять точку, автоматическая оценка смещения) - это существенно упрощает процесс и экономит время.
При попытке выбрать точку а) показывается этот участок в масштабе 100% и б) в квадратике еще более увеличенный фрагмент под курсором для точной коррекции. После этого просто кликнуть по этому же участку на втором кадре - программа автоматически найдёт эту точку и добавит как контрольную.

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

Пройдя всю серию кадров (сшивать первый с последним совсем не обязательно), мы переходим к самому священнодействию сшивки ;)
Переключаемся в следующую вкладку - "Оптимизатор" и жмём кнопку "Оптимизировать!" :)

Подтверждаем, что хотим применить рассчитанные параметры.
Дальше идём во вкладку "Экспозиция" -> "Оптимизировать!". В окошке говорим ОК. После некоторых раздумий программа покажет рассчитанные циферки, снова со всем соглашаться ;)))

Теперь в менюшке найти кнопочку "GL" - жмём!!! Выскочит вот такое окошко с превьюшкой нашей панорамы.

Дальше жмём на кнопки "По центру", "Уместить " и "Выровнять". Вот результат:

Еще можно нажать на кнопку "Фотометрика" и ужаснуться. На самом деле, пугаться рано - в результате всё будет несравнимо лучше.

Гораздо важнее нажать на "Перетаскивание" и поправить остаточную кривизну горизонта, просто двигая мышкой кусочки панорамы.

Еще одна важная операция - кадрирование.

После этого вся подготовка позади. Закрываем это окошко (не через меню, просто давим на крестик) и идём во вкладку "Сшиватель".
Говорим программе рассчитать поле зрения и оптимальный размер. Выбираем формат и качество конечного файла (по умолчанию стоит TIFF). И жмём волшебную кнопку "Собрать!"

Программа спросит, куда сохранить всё это счастье, после чего вылезет служебное окошко с информацией о процессе сшивки. Время обработки сильно зависит от мощности компьютера, размера и количества кадров в панораме. По окончании сшивки служебное окошко просто молча закроется.
Проверьте получившуюся картинку.
Если не нравится яркость/цвета, можно выбрать другой кадр в качестве эталона для экспозиции. После этого надо будет переоптимизировать экспозицию (во вкладке "экспозиция") и пересобрать панораму.
Если остались черные края, снова зайти в "GL" и поправить кадрирование. После этого заново рассчитать поле зрения и оптимальный размер во вкладке "Сшиватель" и пересобрать панораму.
Проект можно сохранить, чтобы вернуться к обработке этой панорамы еще раз. Я не храню исходные кадры в JPEG, так что и обработку панорамы не сохраняю.
Вот вроде и всё. А результат покажу отдельным постом, чтобы здесь не мешался.