Pull to refresh

Comments 69

Такой знакомый и в чем-то даже родной электровоз ЭП1М )
Тот случай, когда для удобнее вертикальное видео.

Имеются ли подобные панорамы с колонной автомобилей (или просто улицей), людьми, животными или насекомыми (например, муравейник).
С автомобилями есть. Но, если честно, есть определённые проблемы с ними. Если в центральной области в один момент пересекаются автомобили едущие в разные стороны или хотя бы с разной скоростью, то получается как на этой панораме у Адама Мадьяра . Т.е. не соблюдаются пропорции объектов. Они начинают зависеть от скорости движения объектов. А мне это не очень нравится. Я бы хотел чтобы объекты на панораме имели те же пропорции, что и в обычной жизни. Поэтому такие вещи не публикую.

Что касается людей, то в самом ближайшем времени планирую осуществить съёмку.

А по поводу животных и насекомых пока планов не имею.
«Линейный размер зависит от скорости движения объекта» — это как будь-то цитата из следствий теории относительности. Может такие панорамы смогут наглядно проиллюстрировать этот эффект?
А я и привёл ссылку в предыдущем комментарии. Посмотрите на панораму внимательно, думаю всё сразу станет ясно.
А скорость программа сама почему не определяет?
Да, предложение дельное. В будущем так и планирую сделать. А на первом этапе для съёмки поездов я считал, что скорость более менее постоянная.
Не понятно чем это отличается от того, что я просто нашлёпаю поезд со, скажем, 30FPS (в jpg это не проблема для зеркалки, даже не особо крутой) и потом склею в Lightroom.

Топовый Canon EOS 1D X Mark II дает 16 FPS максимум. У какой (тем более не особо крутой) зеркалки 30 FPS фото?

Да, действительно, 30 FPS я загнул. Хотя беззеркалки и 60 могут:
«In March 2014, Nikon claims its Nikon 1 V3 mirrorless interchangeable-lens camera has the world's fastest burst mode of 20fps Auto Focus tracking and 60fps at the first shot autofocus, both in 18.4MP full resolution.»
Непонятно в чём проблема сделать такое же в зеркалке, зеркало то всё равно блокируется, ну не суть.

Но пусть будет 6.3 FPS, как в моём 50D. Пусть поезд идёт 60км/ч, значит за время между кадрами он приходит 2.6 м. Чтобы это расстояние попало в пол кадра, нужно чтобы размер области кадра был примерно 5-6 метров по горизонтали. Но это с полным кадром, то есть 3168 пикселей по вертикали, а у автора 1000. Всё равно не понятно, зачем нужна специальная программа.

Проблема, наверное, в том, что матрица в разы больше.


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

Ну а что-то более быстрое и долгое продемонстрировано не было. Даже если и писать видео, то можно писать в RAW, потом выдернуть отдельные кадры и скормить любой программе для обработки фотографий.
У беззеркалок затвор электронный, у зеркалок — механический. Недолго он протрещит на 30fps.
При съёмке видео и те и другие используют электронный затвор.
Да, но в ветке речь шла о серийной съемке.
Буфера не хватит столько кадров за раз записать. А сразу на флешку только свежие модели (типа 70D) могут успевать писать непрерывно, и то — среднего разрешения jpeg'и.
Отличие в том, как Вы потом будете это склеивать. Вот типичный пример. Проходит состав (порядка 90 вагонов). Время прохождения состава 1 минута. Итого имеем для обработки 30*60=1800 кадров. Так вот, каждый кадр (необязательно, но очень вероятно, чтобы добиться хороших результатов) надо слегка повернуть, применить эффект перспективы, из каждого кадра надо вырезать полоску определённой длины и удалить фон.

Вы не запаритесь?

Trainz Pano же, большую часть операций выполнит в автоматическом режиме.

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

Товарищ Kropilak, кстати, именно так и делал (судя по изображениям). Но его не надолго хватило. Относительно большого размера части панорамы очень небольшой длины, а вся панорама целиком крайне невысокого разрешения. Думаю это именно потому что трудозатраты на ретуширование при таком подходе достаточно велики и вряд ли найдётся много людей готовых создать подобным образом панораму из нескольких десятков вагонов.
Некоторые операции может выполнять Irfan View, бесплатная смотрелка фотографий в batch режиме обработке изображений, как через gui, так и через командную строку, crop, rotate, resize фильтры и т.п.
На самом деле программы для автоматического сшивания панорам справятся с этим без проблем. Та же Pano Tools например. Но делать она это будет ооооооооооочень долго, если вообще памяти хватит. Главное указать цилиндрическую проекцию на выходе, а то могут быть весёлые эффекты. Возможно потребуется также задать нестандартные параметры объектива, чтобы панорама не обвивалась сама вокруг себя пару десятков раз :)

Кстати теоретически с этим справится также режим панорамной съёмки в андроидовской камере. По крайней мере эксперементы с ней в какой-то старой версии навели на мысль, что именно так она и работает: По узкому фрагменту, и только по краям добавляет полукадры.
Полагаю, что нет. По крайней мере у меня в PTGui не получилось.



Проблема в том, что программа находит контрольные очки не только на объекте, но и на фоне.



Это означает что Вам придётся все автоматически найденные точки удалить и всю работу проделать самому. Я так и сделал.



Но это ещё не всё. Программа — она умная, и знает, что окружность состоит из 360 градусов. Что это означает применительно к данному вопросу? Это означает, что она будет накладывать продолжение состава сначала на голову поезда, а потом пойдёт по кругу. Результат налицо.



Указанным Вами способом можно собрать панораму из пары вагонов, но чтобы собрать состав понадобиться разбить работу на отдельные куски, собрать их, а потом, соединить в единое целое. Трудоёмкость зашкаливает к сожалению…
Про фон да, это я не подумал. А про перехлёст я писал: возможно поможет задание нестандартного очень узкого объектива. Если не снимать на ширик то на качестве это сильно сказаться не должно. Но полностью не уверен.
В принципе, каждый наверняка хоть раз встречал такие «панорамы» во время спортивных трансляций, потому что по этому принципу как раз работает фотофиниш, выдавая иногда очень причудливые картинки. Только там используют специально предназначенные для этого линейные камеры.
Всё верно, но они очень дорогие. Я ставил перед собой задачу написать софт для обычных фото или видео камер. Кстати, современные экшен-камеры сильно продвинулись по частоте и моя Xiaomi Yi даёт 120 FPS при HD разрешении и 240 FPS при разрешении 848x480.
> нет приложений
Несколько лет назад делал из видео панорамы. Точно помню, что программа была microsoft'овская.
Вроде бы вот эта:
http://research.microsoft.com/en-us/um/redmond/projects/ice/
Эта программа, судя по описанию на сайте подходит для создания обычных плоских или сферических (цилиндрических) панорам. Возможность выбора или удаления объектов есть во многих похожих редакторах. Сам я лично для подобных задач использую PTGui. Чтобы скрыть объект или наоборот какой то из них выделить в PTGui используются маски (так же как и в обычных графических редакторах). Для тех примеров, что приведены на сайте по Вашей ссылке она бы точно подошла. Но эта и многие (если не все) программы не позволит Вам создать панораму поезда или колонны людей. Здесь своя специфика.
Милота какая. На каждой результирующей картинке стабильно один и тот же rolling shutter. Мимими. Ну уж его-то вообще убрать при подобной обработке- самое милое дело.
Честно говоря не заметил. Ткните пальцем, на какой картинке?
На всех. Если вам не бросается в глаза, то открываете в редакторе и сверяете вертикальные линии.
image
уж не говоря, что конкретно на этой картинке окно в левой двери волшебное стало :)
Если он там и присутствует, то его значение очень мало. Что касается окна, то, да — неравномерность движения даёт о себе знать. Идеальная сборка потребует достаточно много времени.
Здесь тоже мало?

imageimage

Это ж зависит от того, с какой скоростью ехал поезд во время съёмки. Ну и от личного восприятия геометрии на картинке.
При переходе на сайт мне сразу бросается в глаза наличие этого искажения (на примерах в статье вообще ад). С дргой стороны — я не заказчик :) Если вас такой результат устраивает, то и ваше личное дело. Я лишь обратил внимание на то, что вы, похоже, не заметили.
Возможно, что здесь не только shutter, но и отклонение вертикали при установке самой камеры добавляется, потому что небольшая лесенка при склейке горизонталей всё же есть местами. Но то, что shutter есть — это 100%. Потому что искажение прямых углов тоже есть, его видно.
Может еще вагоны криво ездят, нет?
Это однозначно не Rolling Shutter если автор снимал видио в портретной ориентации, а я так понял именно так он и снимал. Rolling Shutter по своей природе проявляется на движушихся паралельно с длинной стороне матрицы объектах.
Вообще, при том, что камера повернута на 90 градусов, rolling shutter если и должен проявляться, то только в виде сплющивания/растягивания, а не наклона.
Меня вот интересует вопрос, существует-ли в природе программа, которая из видео может сделать цилиндрическую панораму? Работа по принципу сканера, камера на штативе, режим видео, делаешь оборот 360 градусов и в программе получаешь сшитый jpeg, уже исключая возможные дефекты из-за параллакса, т.к. из каждого кадра берется область шириной 1 пиксель и подшивается в финальный результат + контроль скорости движения оборота по общему видео, на случай неравномерного поворота.
Спасибо, работает! Для серьезных проектов конечно сомнительна, но для панорам на скорую руку из видео и в автоматическом режиме вполне. Единственное чего ей не хватает, так это экспорта во флеш.
Не знаю как с остальными панорамными фото, но в данном случае я бы просто один вагон сфотал и продублировал хоть 1000 раз. Реально кто-то видит разницу между ними? Заодно и всех этих артефактов не будет
+можно вагон случайно чередовать с его зеркальным отображением, немного расширять и суживать. Так можно сделать бесконечную панораму и генерировать её в реальном времени.
Если стоит задача просто создать некую виртуальную фотографию состава, то почему бы и нет?

Но для меня, и думаю для многих, важна аутентичность фотографии.
О какой аутентичности идет речь, когда вырезан фон и размазаны рельсы?
О той её части, что осталась после вырезания фона, а именно о аутентичности самого объекта съёмки. Фон, в данном случае, я объектом не считаю.
А если товарняк с разными вагонами?
Поэтому я уточнил про данный случай )
Вообще интересная идея, единственное что разрешение низковато. Можно конечно делать то же самое на 4К, но даже так, вертикальное разрешение будет 2160, что соответствует примерно 20см по вертикали при печати с 300dpi. То есть, картинка более чем достаточна чтобы выкладывать в интернет, но с печатью уже проблемы.

И еще, у большинства бытовых пользователей нет камеры с global shutter, а следовательно у них, как и у вас, все вертикали будут не совсем вертикальны из-за rolling shutter эффекта. Это конечно можно пофиксить программно, но делая shear на градус-другой вы рискуете потерять информацию, которой и без того мало.

Что-то мне кажется, что rolling shutter при вертикальной съёмке не особо заметен будет.
Да, то что я наблюдаю на кадрах — это наверное не rolling shutter вообще, это просто движение. Интересно что кадр не кажется сильно «мыльным».
Разрешение собранной панорамы 1280 пикселей по высоте. Это больше чем разрешение монитора FullHD.

Можно конечно делать то же самое на 4К, но даже так, вертикальное разрешение будет 2160, что соответствует примерно 20см по
вертикали при печати с 300dpi.

Если делать так, как я описал в статье, то вертикальное разрешение будет 4K.

То есть, картинка более чем достаточна чтобы выкладывать в интернет, но с печатью уже проблемы.

Эта программа для создания сверхдлинных панорам (многие десятки вагонов). Если Вы распечатаете её на рулоне шириной 20 см (А4 в альбомной ориентации), то не во всякой комнате сможете её повесить (стена будет слишком короткая).

По поводу rolling shutter эффекта я уже писал — нет там его (минимален). Кроме того, если уж здесь все такие специалисты по этому эффекту, то я хочу напомнить, что этот эффект не свойство программы — это свойство конкретной матрицы. Покупайте другую камеру — не будет у Вас rolling shutter.
Да, я уже понял что неправ в этом плане. Тут не rolling shutter, но вертикаль все же немного неровная — мы можете сами это проверить открыв картинку в редакторе. Например двери вагонов не совсем вертикальные. Это некритично конечно — там градус-два, не более.

Насчет rolling shutter, это к сожалению во всех консюмерных матрицах так. Есть конечно всякие Black Magic, но это экзотика.
Я нарезал панораму на вагоны, чтобы снять ограничение на размер изображения. Панорама генерировалась полностью автоматически(не в реальном времени, а после проезда поезда).
Вот эта использовалась для распознавания номера:
https://habrastorage.org/files/f8a/fbe/c09/f8afbec0997e40c7b925e06c6859a698.png
А чем «Панорама генерировалась полностью автоматически»?
ПО сами писали. Камера была с глобал шаттером. Калибровали дисторсию и «выравнивали» плоскость поезда с камерой. Лет 5 назад — это было.
Здорово! А где можно посмотреть результаты Вашего труда? Та картинка, ссылку на которую Вы опубликовали не особо информативна.
Там не только мой труд :) ПО не публичное. А на домашнем компе вроде нет других скриншотов.
Попадалась как-то «ekspozzer», там пытался делать круговую панораму из видео, но камера вращалась с различной скоростью и хорошого результата достичь не удалось.
Круто.
Только
«Светлота» — это, наверное, «Яркость», да? :-)
Так обычно называют канал Lightness в HSL цветовом пространстве
Круто, прекрасная идея и реализация.
Видео в ужасном инстаграмовском качестве (кликабельно): image

Только тут принцип наоборот — видео из поезда
Уткнулись в ограничения форматов по ширине? Почему бы не использовать менее примитивные форматы, например — Jpeg2000 или BigTIFF?
И rolling shutter во всей красе, да…
Потому что не вижу смысла в использовании TIFF (это не формат для публикации изображений в Интернет), а для последующей обработки без потери качества приложение умеет делать экспорт в PNG и BMP. JPEG является самым популярным форматом в Сети и файлы в этом формате весят заметно меньше, чем те же PNG или BMP. Что касается JPEG2000, то вот что написано в Википедии:

Пока этот формат мало распространён и поддерживается не всеми современными браузерами.
Вам шашечки или ехать?
Если «популярные и распространенные» форматы что-то не могут делать принципиально без нарезки на тайлы, например, то использовать для хранения полного разрешения менее популярный, но предназначенный именно для хранения изображений гигантских (по меркам того, что публикуется в сети) — совершенно логично.
А уж для нужд представления можно нарезать его на тайлы в JPEG, подключить их к leaflet и так далее.
Совершенно верно. Именно поэтому моя программа (повторюсь специально для Вас) умеет экспортировать в такие форматы как BMP и PNG. В JPEG экспорт тоже возможен, но если размер панорамы не превышает 64K пикселей. В противном случае (так как публикация по-любому будет идти в JPEG в целях экономии трафика и места на хостинге) сперва идёт сохранение в PNG/BMP, а далее или (как Вы сказали) нарезка на тайлы, или масштабирование до размеров 64K (или менее) в графическом редакторе и сохранение в JPEG.

По-моему я достаточно подробно объяснил.
Круть! Я сам недавно писал программу для щелевой съёмки, но в отличие от Вас я не делал щель переменного размера, ограничился шириной в один пиксель (поэтому с склейкой проблем не получил). Сначала это была съёмка в реальном времени на iPhone, но потом и десктопную версию для пост-обработки видео сделал (туда добавил ещё и rolling-shutter эффект).

Вот теперь, вдохновлённый Вашим постом, попробую ещё и поезд сфоткать. ;)

Пара кадров с разными режимами
С телефона:


Из видео:


Из видео с YouTube:


Rolling-shutter:


Ещё примеры фоток с телефона
Здорово! А какая кадров в секунду у Вашего iPhone?
Мой 6+ выдаёт в моей программе порядка 60 FPS, новые модели до 120 выдают, но в теории могут и больше — 120 у меня сейчас ограничение искусственное. Надо кстати попробовать его смягчить для последних моделей.

А видео я снимаю 240 FPS для пост-обработки. Так красивее всего выходит. =)
Вот и поезд я планирую сначала заснять в 240 FPS, а затем прогнать через мою утилитку. И посмотрю, что получится.
Скиньте ссылку на результат, когда сделаете. Интересно было бы посмотреть.
Sign up to leave a comment.

Articles