Коррекция перспективы с помощью Hugin

Цель этой статьи — показать, как, используя точки, лежащие на вертикальных и горизонтальных линиях, удалить искажения, возникающие из-за перспективы.

Вот фотография, сделанная с неудобного ракурса из-за того, что невозможно было фотографировать стену прямо, поскольку помещение заполнено колоннами.

Вы можете загрузить фотографию и попробовать поэкспериментировать с ней сами.

Вот то же самое изображение с исправленной перспективой. Использованная для коррекции техника достаточно аккуратна, и её можно использовать для решения серьёзных задач.

Коррекция

Запустите hugin и добавьте одиночный снимок.

Перейдите на вкладку «Камера и объектив».

Для оптимизации нужно предварительно создать достоверное описание вашей техники, в частности, указать поле зрения использованного объектива. Убедитесь, что значение угла поля зрения указано равным 50 или около того.

В обычных случаях hugin может получить это значение из данных EXIF, записанных камерой в файл снимка, так что указывать вручную его необязательно.

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

На вкладке «Сшиватель» смените тип проекции на прямолинейную. Измените значение поля зрения на 100 градусов для горизонтального и вертикального углов.

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

Теперь перейдите на вкладку «Контрольные точки». На основании данных, которые вы здесь введёте, будет вычислено точное поле зрения объектива, исправлены бочкообразные геометрические искажения и скорректирована перспектива. Стоит заметить, что изображений якобы два, на самом же деле это одна и та же фотография.

Убедитесь в том, что изображение полностью помещается в окне (Масштаб→Уместить в окне), а опции «Автоматическая точная подстройка» и «Сразу добавить точку» включены.

Теперь при помощи мыши укажите пары точек, которые лежат на одних и тех же линиях, но на разных снимках. Линии на сфотографированном объекте должны быть строго вертикальными и/или горизонтальными. В пятом столбце необходимо указать, что это вертикальные или горизонтальные пары.

Если автоматическая коррекция точек срабатывает недостаточно корректно, переключитесь на 100% масштаб и вручную скорректируйте положение точек.

Обратите внимание на то, что hugin распознаёт вертикальные линии и автоматически выставляет соответствующий тип выравнивания.

Повторяйте эту процедуру до тех пор, пока не получите приличный набор вертикальных и горизонтальных контрольных точек, как по центру, так и по краям изображения. Для большей наглядности иллюстрация внизу показывает точки, соединённые линиями в GIMP:

Перейдите на вкладку «Оптимизация».

Если повезет, вы сможете выбрать вариант «Оптимизировать позиции, вид и «бочку» (y,p,r,v,b)». В противном случае, если оптимизатор сокращает поле зрения до нуля, вам придётся сначала оптимизировать позиции, и только потом всё остальное.

Когда оптимизация будет завершена, проверьте результат и сохраните изменения. Проверьте полученное изображение в окне предпросмотра (Ctrl+P).

Перейдите на вкладку «Сшиватель» и нажмите кнопки «Рассчитать поле зрения» и «Рассчитать оптимальный размер» для автоматической коррекции этих значений.

Теперь выберите сшиватель: nona гораздо быстрее PTStitcher отрисовывает изображения с большими пустыми областями. В качестве выходного формата файлов рекомендуется использовать PNG или TIFF, то есть формат без потерь в качестве, поскольку результат сшивки, возможно, придётся откадрировать в редакторе.

Совершенствование техники

С чем ещё можно поэкспериментировать:

  • Можно использовать эту технику для оценки геометрических искажений, вносимых объективом, путём съёмки точных сеток или, скажем, зданий в стиле модерн.
  • Иногда линий на снимке не хватает, чтобы можно было сразу оптимизировать все параметры. В подобных случаях перед началом работы полезно знать поле зрения и параметры коррекции геометрических искажений. Характеристики объектива можно сохранить и загрузить по новой (вкладка «Камера и объектив»), или же использовать программы clens и PTLens.
  • Обычно фотографии светлее к центру из-за меняющегося угла падения света на сенсор или плёнку. Этот эффект называется виньетированием и убрать его стоит до начала обработки в hugin (в текущей версии hugin есть встроенные средства коррекции виньетирования, см. вкладку «Камера и объектив»).
  • Этот урок построен на примере использования одного файла, но вы можете использовать сколько угодно перекрывающих друг друга снимков и сшить их в один, используя обычные контрольные точки наравне с горизонтальными и вертикальными.
  • Типичный пример использования этой техники — создан мозаичных текстур для 3D-моделлеров. Урок «Fixing Lighting Irregulaties in Self-Tiling Maps» вполне может быть переложен и для GIMP. Ещё один ценный инструмент для создания мозаичных текстур — расширение Resynthesizer для GIMP.К созданным текстурам стоит применить либо лицензию Creative Commons Share Alike, либо GNU General Public License, чтобы другие люди были достаточно свободны в их применении.
  • Исходные снимки не обязаны быть прямолинейными фотографиями, снятытыми обычными объективами. Вы можете использовать любой поддерживаемый hugin объектив, включая «рыбий глаз». Вместе с тем, конечное изображение всё же должно быть прямолинейным, что ограничивает поле зрения 120-140 градусами.

Об этом снимке

На использованной в уроке фотографии запечатлён фрагмент декоративной стены пронаоса (внешний зал в гипостиле) в храме Гатор, находящемся в Дендере, Египет. Стена была возведена в птолемеев и римский периоды, её нижние секции были стёрты ранними христианскими иконоборцами.

Несколько примеров

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

Из-за вращения исходной фотографии программе hugin не удалось автоматически определить все горизонтальные и вертикальные пары точек, так что некоторые пришлось указать вручную:

Эта декоративная панель на фасаде кинотеатра была снята телевиком. Длиннофокусные объективы обычно не вносят бочкообразные геометрические искажения, поэтому потребовалось скорректировать только положение камеры:

Этот пол средневековой церкви недостаточно ровный, поэтому линии не слишком прямые. Несмотря на это, результат достаточно хорош:

Эта проекция Капитолинского музея была сшита из четырёх снимков с одновременно скорректированной перспективой.

Информация по теме

Ещё один урок, Simulating an architectural projection, рассказывает о том, как при помощи одних лишь вертикальных контрольных точек убрать завал перспективы в сторону.

В вики проекта panotools.info есть статья о коррекции перспективы при помощи PTGui.


Автор: Bruno Postle
Источник: Perspective correction
Перевод: Michael
Лицензия: GNU GPL

1 Trackback / Pingback

  1. Установить Hugin — Создатель панорамных фотоснимков в Ubuntu/Linux Mint и производные | Darfanix

Комментарии закрыты.