Robostitcher - HDR imaging and stitching panoramas in batch modes

Facebook page with major updates in English: https://www.facebook.com/robostitcher/
Youtube channel with video examples: https://www.youtube.com/c/Robostitcher

Robostitcher - программа которая создает HDR изображения и/или сшивает различные панорамы (в том числе HDR панорамы) в полностью автоматическом режиме. Программа работает из коммандной строки, но может использоваться как дроплет. Для того чтобы собрать 10000++++ панорам, сэкономить десятки часов, снимать больше и меньше тратить времени на рутинные операции, надо лишь "кинуть на дроплет" все папки с исходными изображениями (Внимание! ПАПКИ с исходными снимками, а не изображения), остальное Robostitcher сделает сама. Но на самом деле Robostitcher ничего не сшивает и не HDRит, но все четко для этого подготавливает, избавляет Вас от повторяющихся, однотипных, монотонных операций, запускает внешние программы и заканчивает работу коротким словом "done". "done" - это значит , что если вы закинули в программу, например 1800 изображений (4 кадра с фишая для сферической панорамы, по 3 кадра с брекетингом), то вас ждут 150 готовых HDR панорам, обсчитанные проекты ptgui и все промежуточные HDR изображения.

Robostitcher использует следующие программы: ptgui pro, enfuse, exiftool и sns-hdr lite (только для windows) и krpano

Что имеет Robostitcher

1. создавать HDR изображения
2. создавать панорамы из исходных изображений
3. сначала создавать HDR, а потом из них панорамы
4. сначала сшивать панорамы, а потом делать из них HDR панорамы
5. создавать панорамы из снимков снятых на несколько камер одновременно
6. делать стороны куба из панорам и обратно с сохранением исходных метаданных
7. очень быстро создавать обзорные туры для контроля качества автосшивки или просто для удобного просмотра панорам
8. создавать скриншоты текущего просмотра панорам
9. оптом изменять размеры простынок
10. выравнивать горизонты у готовых панорам
11. правильно ориентировать панорамы относительно севера
12. производить клонирование проектов ptgui с подменой всех или только некоторых исходных файлов внутри них
13. автоматический отложенный запуск всех операций, робоститчер выполнит свою работу сразу после того как, например, завершится экспорт из Лайтрума или закончится любая другая операция во внешней программе

Режимы работы

обязательный параметр

--hdr:ptgui

сшивка панорам с HDR или без (если --shootsperbrack:1) в полностью автоматическом режиме. в этом режиме HDR изображения панорам создаются при помощи ptgui. ни enfuse ни sns-hdr не используются

--hdr:before

сначала Robostitcher делает HDR изображения из кадров с брекетингом в enfuse, потом производит их сшивку в ptgui в полностью автоматическом режиме. самый быстрый режим, ptgui находит больше контрольных точек и меньше ошибается

--hdr:after

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

--hdr:justhdr

в этом режиме Robostitcher только создает HDR изображения из кадров с брекетингом в полностью автоматическом режиме. клонирование проектов ptgui и сшивка не производятся. в этом режиме переключатель --ptstemplate не является обязательным, переключатель --runstitcher игнорируется, а значения --shootsperpano и --shootsperbrack, как правило, имеют одинаковые значения

--hdr:gopro

режим для создания панорам снятых одновременно на несколько камер. как правило это камеры gopro, отсюда и название режима. в этом режиме Robostitcher создает проекты ptgui для изображений со всех камер и сшивает их. например, вы сняли 2500 панорам на шесть камер gopro и изображения с каждой камеры скопировали в директории cam1, cam2... cam6 соответственно. в каждой директории должно быть 2500 изображений. после запуска Robostitcher в этом режиме, программа проверяет, что в каждой папке находится одинаковое количество кадров, клонирует указанный в переключателе --ptstemplate шаблон ptgui 2500 раз и запускает ptgui batch stitcher (если указан переключатель --runstitcher). HDR изображений в этом режиме не производится, переключатели --shootsperbrack и --shootsperpano не являются обязательными

--hdr:sphere2cube и --hdr:cube2sphere

режимы для пакетного создания сторон куба из панорам (--hdr:sphere2cube) и пакетной сборки сфер из сторон куба (--hdr:cube2sphere). Robostitcher использует krpanotools для каждой панорамы, чтобы создать шесть сторон куба из панорамы или для того чтобы создать панорамы из каждых шести изображений в указанных папках. взависимости от значения переключателя --extout krpanotools будет использовать конфигурационный файл convertdroplets.jpg.config или convertdroplets.tif.config. если стороны куба были созданы в Robostitcher то при обратном создании панорам будет осуществлен перенос метаданных из оригинальной панорамы.

--hdr:vtourpreview

режим позволяет очень быстро создать обзорный виртуальный тур из сферических панорам. полезен для быстрой проверки качества сшивки или просто для удобного просмотра простыней. по завершению работы Robostitcher в этом режиме, откройте созданный файл vtourpreview.html в браузере и посмотрите в нем все ваши панорамы. следует отметить следующие особенности режима. если обзорный тур создается из панорам в формате jpg, то время работы составит не более двух секунд на 50, 100 и даже 1000 панорам, так как по умолчанию изменения размеров простынок не производится, однако оригинальный размер панорам скажется на скорости загрузки их в браузере при просмотре. специальный переключатель --resize для этого режима позволит уменьшить размер панорам для создания обзорного тура, тем самым увеличив скорость просмотра панорам в браузере, но займет чуть больше времени на подготовку изображений. значение переключателя задается следующим образом: --resize:4000, где 4000 - размер эквидистантной проекции по длинной стороне. если обзорный тур создается из панорам в формате tif, то конвертация в jpg производится всегда, а изменение размеров, если необходимо, также задается в --resize. примечание: если ваш браузер не Firefox, то, скорее всего, понадобится веб-сервер для просмотра виртуального тура. для этих целей вы можете воспользоваться krpano Testing Server.

При просмотре тура используйте клавишу "пробел" для создания скриншотов текущего просмотра сцены.

Переключатели

--shootsperpano:12

количество кадров на съемку одной панорамы (изменяется, конечно). обязательный параметр во всех режимах кроме --hdr:gopro

--shootsperbrack:3

количество кадров брекетинга по экспозиции (изменяется, конечно, должно быть кратно --shootsperpano). обязательный параметр во всех режимах кроме --hdr:gopro

--zerobias:1

используется только в режиме --hdr:after для того, чтобы указать по каким кадрам из серии внутри --shootsperbrack создавать панорамы на первом проходе. обычно сшивка производится из кадров с нулевым сдвигом по экспозиции и Robostitcher считает что такие кадры первые в серии. если в сериях кадров с брекетингом кадры с нулевым сдвигом не являются первыми (так делает Nikon), или по каким-то другим причинам вы хотите использовать другие кадры, то вы должны указать порядковые номера кадров в этом переключателе. например, если используется --shootsperbrack:3 и внутри серии каждый второй кадр с нулевым сдвигом, то вы должны указать: --zerobias:2. значение --zerobias не может быть больше --shootsperbrack. не обязательный параметр, значение по умолчанию: --zerobias:1

--ext:tif или --ext:jpg 

формат исходных изображений, остальные форматы, которые если вдруг отыщутся в исходных папках, игнорируются. PS: будет работать с NEF, CR2 и... со всем что проглотит ptgui, соответственно только в режимах ---hdr:ptgui и --hdr:after. в режиме --hdr:before использовать RAW файлы возможно только совместно с sns-hdr. не обязательный параметр. значение по умолчанию выбирается автоматически из tif и jpg 

--extout:tif или --extout:jpg

формат исходных панорам и промежуточных изображений работы программ ptgui и enfuse. не обязательный параметр. значение по умолчанию: jpg. если значения переключателей не указаны, то Robostitcher определяет их по расширению первого найденного файла в первой папке с исходными снимками и, в зависимости от того файл с каким расширением будет найден, устанавливает значения в tif или jpg.

--skipfiles:номера_файлов_через_зяпятую;количество_файлов

переключатель позволяет исключить указанные номера файлов из серии. например: вы отсняли панорамы по схеме 4x3. общее количество кадров, используемых для создания каждой панорамы равно 12, каждые три кадра в серии используются для HDR, и Robostitcher должен быть запущен с --shootsperpano:12 --shootsperbrack:3 переключателями. если указать --skipfiles:2,3,5,6,8,9,11,12;12 то это будет означать, что в каждой серии из 12-ти кадров каждый второй, третий, пятый... двенадцатый кадр необходимо проигнорировать и продолжать работу так, как будто этих файлов нет вовсе. очевидно, что в этом случае панорамы будут собираться только по четырем кадрам (1, 4, 7 и 10 из двенадцати в серии), а запуск Robostitcher принимает вид: --skipfiles:2,3,5,6,8,9,11,12;12 --shootsperpano:4 --shootsperbrack:1. как известно, ptgui может собирать панорамы из RAW файлов и указанный переключатель может использоваться для быстрой (выборочной) сборки по кадрам с нулевым сдвигом экспозиции, минуя конвертацию RAW и процесс HDR для проверки безошибочности съемки

--ptstemplate:filename.pts

шаблон, используемый для ptgui легко создается самостоятельно в ptgui под любое оборудование и схему съемки панорам. используется во всех режимах, кроме --hdr:justhdrне обязательный параметр. значение по умолчанию: robostitcher.pts. Robositcher пытается найти указанный в этом переключателе шаблон или шаблон по умолчанию сначала в рабочей директории с папками с исходными изображениями, затем в директории установки программы. Если шаблон не найден, то во всех режимах кроме --hdr:justhdr Robostitcher завершает выполнение с соответствующей ошибкой. Кроме этого, если указан переключатель --magic то Robostitcher игнорирует указанный в --ptstemplate шаблон и пытается создать его автоматически

--magic

если указан этот переключатель, то Robostitcher попытается создать шаблон автоматически, однако для уменьшения вероятности ошибочной сборки панорам и улучшения общих результатов сшивки рекомендуется создать и использовать индивидуальный шаблон в переключателе  --ptstemplate

--checkimgsize

если указан этот переключатель, то Robostitcher будет определять размеры и ориентацию каждого изображения, включаемого в проект PTGui. Это позволит собирать панорамы снятые по одной схеме, но с разного оборудования, а также если размеры и ориентация исходных изображений не одинаковые, увеличить количество безошибочно сшиваемых панорам и исключить ошибку PTGui batch stitcher "The dimensions of this image are different from the image dimensions recorded in the project file". Так как в некоторых режимах размеры изображений можно вычислить только после создания HDR изображений, то при использовании --checkimgsize переключатель --noexecute игнорируется. не работает с RAW файлами

--keepcp

по умолчанию Robostitcher удаляет контрольные точки из шаблона ptgui, но в некоторых случаях, как например сшивка панорам снятых сферическими камерами, это делать необязательно. если указан этот переключатель то Robostitcher не будет удалять контрольные точки из шаблона.

--metadata:remove --metadata:3*16 --metadata:4*16 --metadata:3*8 --metadata:4*8

удалять строку с metadata из проектов ptgui или производить соответствующие замены (замена нужна если в ptgui получаем ошибку "The pixel format of this image differs from the pixel format recorded in the project file. Please reload the project and stitch again". ошибка исправлена в ptgui версии 10.0.11). не обязательный параметр

--hdrby:snshdr

использовать sns-hdr lite вместо enfuse (медленно). если не указано, то по умолчанию везде используется enfuse. не обязательный параметр

--runstitcher

запуск ститчера после создания проектов ptgui. в режиме --hdr:after ститчер запускается в любом случае. не обязательный параметр

После создания панорам требуется лишь проконтролировать результат и, в случае если ptgui ошибся с определением контрольных точек, помочь ему, после чего нажать Ctrl-F3 и снова ничего не делать :)

--noexecute

если указан этот переключатель, то никакие внешние программы запускаться не будут, однако создание и сохранение промежуточных bat файлов для создания HDR изображений, переноса метаданных из оригинальных снимков и создание проектов ptgui производится. вся работа robostitcher завершается в течение нескольких секунд даже если приходится обработать тысячи файлов. в режиме --hdr:after ститчер ptgui запускается в любом случае, однако enfuse или sns-hdr lite не запускаются. Важно! переключатель будет игнорироваться если в пути размещения файлов используются национальные символы. не обязательный параметр

--wait:5

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

--resize:4000

переключатель изменения размера эквидистантных проекций в режиме --hdr:vtourpreview. указывается новое значение по длинной стороне панорамы. подробнее смотрите в описании режима

--straight

специальный переключатель предназначен только для работы с эквидистантными панорамами. современные сферические камеры записывают в EXIF данные компаса и гироскопа, что позволяет Робоститчеру выровнять горизонт в панораме и одинаково сориентировать панорамы относительно Севера (центр панорамы будет совпадать с направлением на Север). переключатель работает только в режиме --hdr:ptgui и только если значения --shootsperpano и --shootsperbrack равны 1

ПРИМЕЧАНИЕ
в качестве значения любого из параметров (режима или переключателя) можно использовать значение ASK. Например, --extout:ASK. В этом случае для таких параметров Robostitcher предложит ввести актуальные значения. если не вводить значение, а просто нажать Enter, то в этом случае значение установлено не будет, так как будто параметр и не был задан, но, взависимости от параметра, Robostitcher может установить значение по умолчанию (как, например, для --ext и --extout).

Запуск программы

Классический запуск Robostitcher из командной сроки будет выглядеть следующим образом:

robostitcher.exe --hdr:ptgui --shootsperpano:12 --shootsperbrack:3 --ext:tif --extout:tif --ptstemplate:hdr-ptgui.pts MYIMAGESDIR1 MYIMAGESDIR2

Где MYIMAGESDIR1 и MYIMAGESDIR2 - папки с исходными изображениями. Для удобства работы с программой рекомендуется использовать пакетные файлы Windows (*.bat файлы, включены в поставку) для различных режимов. Пакетные файлы можно также использовать из командной строки или использовать как дроплет. В последнем случае папки с исходными изображениями перетаскиваются и "бросаются" на пакетный файл мышкой.

Ошибки

1. Если в названии папок или файлов встречаются национальные символы, то это приводит к следующим ошибкам: при запуске ptgui batch stitcher появляется ошибка "XML parsing error: 'not well-formed (invalid token)'", и/или ptgui при загрузке проекта сообщает "This is not a PTGui project file". Это происходит из-за того что все проекты ptgui хранит в utf8 кодировке, которая не является кодировкой по умолчанию для windows. Также не будут корректно работать создаваемые Robostitcher промежуточные *.bat файлы. На данный момент проблема решена частично, поэтому в названии папок и файлов рекомендуется использовать только символы латинского алфавита.

2. Не является ошибкой Robostitcher, но нуждается в упоминании. В режиме --hdr:ptgui всю HDR работу делает ptgui и было замечено, что, в некоторых случаях, при сшивке панорам, в случае если установлено 'Enable HDR mode but do not link the images', ptgui теряет информацию о прилинкованных изображениях из шаблона. Решением может быть только съемка в режиме M и 'Enable HDR mode and link the images' на вкладке 'Projects settings'. К счастью, такое поведение ptgui замечено очень редко и как раз на съемках в режиме M, а на съемках в режиме AV не проявлялось.

Демонстрация работы программы

Загрузить демонстрационную версию

Внимание! Версия для MAC OS временно не обновляется.

Демонстрационная версия Robostitcher полностью функциональна и не имеет никаких ограничений, однако требует ручного подтверждения всех выполняемых действий

Загрузить тестовый пример (для ptgui 10.0.11 и выше)

Я прекрасно понимаю что Вам хочется как можно быстрее попробовать Robostitcher в работе, поэтому специально для такого случая подготовил небольшой пример. В этом примере Robostitcher в режиме --hdr:before сначала создаст HDR изображения из исходных снимков, а затем запустит batch stitcher для создания одной тестовой панорамы. После загрузки и разархивирования примера скопируйте файлы robostitchertest.bat и robostitchertest.pts в папку установки программы, затем перетащите папку jpegs с исходными снимками на дроплет robostitchertest.bat

Смотрите также "Как быстро начать пользоваться программой?" в разделе FAQ

Полная версия для Windows и MacOS

Внимание! Версия для MAC OS временно не обновляется.

Можно скачать здесь (доступны только зарегистрированным пользователям)

Внимание. Начиная с 20 декабря 2016 года Google Drive иногда стал находить "вирусы" внутри архивов с программой и предупреждать о возможности инфицирования. Такое поведение распространилось на все релизы Robostitcher, включая загруженные до этой даты. Возможно, ситуация исправится в ближайшем будущем, а пока, загружайте, проверяйте локальным антивирусом и пользуйтесь.