Стерео фото и видео съёмка, часть 1

Written by admin on 20.06.2016 in with no comments.

Традиционное плоское фото даёт лишь поверхностное представление о местности. Конечно мастерство оператора делающего снимки имеет большое значение при выборе правильной перспективы и объектов переднего плана что позволяет более или менее передать атмосферу. Но тем не менее мозгу приходится додумывать картину и полностью погрузиться в неё не получается.

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

Интерес человечества к стерео фото съёмке волнообразно то возрастает, то понижается с 1854 года.

До недавнего времени основным ограничением для внесения стерео фотографии в простую жизнь обычных людей было отсутствие доступной техники воспроизведения стерео изображений. Но на дворе 2016 год и техника не стоит на месте. Стали доступны технологии виртуальной реальности «VR» вкупе со смартфонами с фантастическими до недавнего времени показателями.

Полтора года назад я купил сначала жене, а затем и себе телефончик с неплохой камерой — Lenovo A859. Потом стал частенько ходить в походы выходного дня. Естественно свои путешествия я запечатлевал на свой смартфон. И вот однажды приехав из Карелии попытался показать товарищу высоту горы на которой делал снимки. Но не тут-то было — на экране монитора была плоская картинка с каким-то месивом из кустов, деревьев и скал. Меня это сильно возмутило.

Ходишь в походы видишь красоту, а тут такая каша. Непорядок.

И тут я начинаю искать решение — «Нужно стерео фото».

Сразу встают два вопроса:

Первый — чем снимать?

Второй — чем смотреть?

На первый ответ нашёлся быстро, впрочем на второй тоже.

Для получения стерео снимка нужны две одинаковые камеры с одним разрешением. Эврика — два смартфона. Осталось дело за малым — сделать рамку для крепления смартфонов в одной плоскости с расстоянием между объективами (стерео базой) примерно равным расстоянию глаз у человека. Сказано сделано.

Держатель смартфона сзадиДержатель смартфона спередиФото держателя смартфонов

С помощью этого нехитрого приспособления можно снимать в формате «горизонтальная стереопара». Затем кадры левого и правого ракурсов склеиваются на компе бок о бок и получается изображение в английской терминологии называемое Syde-by-Syde 3D (SBS 3D).

Ответ на вопрос — чем смотреть тоже не заставил себя ждать.

Можно на 3D телевизоре, но меня такой вариант не сильно вдохновлял, т.к. нет эффекта погружения и чересстрочный режим просмотра тоже напрягает.

В последнее время в интернетах витают различные новости о Google Cardboard — картонных очках VR из китая за 170 рублей, Samsung Gear VR за 7000 руб, Oculus Rift за $599.00.

Картон больше для ознакомления с технологией, а Samsung Gear VR для полного погружения в виртуальную реальность.

Ни тот, ни другой вариант мне не подошёл. Т.к. мне не требуется полное погружение, а только комфортный просмотр своего фото архива я выбрал доступный вариант — очки VR BOX 2.0 с пультом управления по Bluetooth, всего за 1200 руб на Aliexpress.

Помимо очков требуется смартфон с дисплеем 5-5,5 дюймов и разрешением не менее 1920х1080 пикселей, а лучше 2560х1440.

Экран моего Lenovo A859 хороший, яркий, но имеет разрешение только 1280х720 пикселей. При просмотре через него видны крупные пиксели, но для ознакомления с технологией вполне сойдёт.

Самым доступным вариантом экрана оказался смартфон LeTV One Pro

letv-le-superphoneфото из интернета

с дисплеем 5,5 дюймов и разрешением 2560х1440 точек. Пиксели на таком экране практически незаметны. Стоимость LeTV One Pro на момент покупки составляла 190$ (13000 рублей). Прошивка русифицирована процентов на 90, немного подглючивает, со стандартным Лоунчером Kodi не играет файлы, Youtube иногда подвисает и не сменить изображение на экране блокировки. А всё остальное работает на отлично и установка Nova Launcher решает вышеперечисленные глюки (кроме lockscreen).

Доставка контента на такую VR конструкцию может осуществляться непосредственной загрузкой в память смартфона или стримингом с других устройств. Для игр это может быть TrinusVR или Nvidia Shield с клиентом Moonlight для Android. Для стриминга фото и видео можно применить любой DLNA сервер на источнике и с AAA VR Cinema Cardboard 3D SBS (производства CANDLIFY VR Technologies) в связке с DLNA Player (производства ginkgosoft) на Android. Ещё для проигрывания можно использовать KODI Media Center.

Теперь о технических подробностях съёмки

Для того чтобы мозг не свихнулся в процессе просмотра нужно выполнить некоторые условия в стерео паре:

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

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

Обработка исходного материала

Сложность автоматизированной обработки на данный момент состоит в том, что спуск затвора на камерах производится вручную без синхронизации, т.к. это 2 отдельных смартфона. И время на них может значительно плавать тем более если внутренние часы не имеют возможности синхронизироваться через интернет в его отсутствие. Я использую приложение Camera MX и она в свою очередь нумерует файлы по дате и времени создания кадра. Так и получается что на одном смарте кадр имеет одно время создания кадра, а на другом другое. Приходится визуально подбирать пару.

Также стандартное соотношение сторон для фото это 16:9 и 4:3. При этом для последующего просмотра готового изображения на экране 16:9 требуется соотношение одного ракурса 8:9. Поэтому приходится склеенное изображение обрезать до нужного соотношения сторон, т.е. 16:9=1,77.

Конечный результат я предпочитаю сохранять в PNG — формат изображения который использует сжатие без потери качества, но полноразмерные фотки 4896х2760 при этом имеют большой размер файла — около 30 Мб. И при просмотре они очень долго грузятся в смартфоне. Т.к. у меня разрешение экрана 2560х1440, то я уменьшаю их размер до 1440 пикселей в высоту и только потом сохраняю. Теперь каждый файл весит около 7,5 Мб.

Последовательность операций

  1. Создаю на компе 2 папки «Левые» и «Правые»;
  2. Копирую фотки соответственно с левого смартфона в папку «Левые», а с правого в «Правые»;
  3. В Unreal Commander в папке «Левые» выделяю все файлы и применяю к ним групповое переименование — добавляю в начало имени «L_». В папке «Правые» соответственно;
  4. Далее в программе XnView отбираю хорошие кадры в папке «Левые». Жму F2 копирую имя файла (Ctrl+C), ESC , Alt+M и переношу в папку «Подготовка», в которой создаю папку с именем файла (Ctrl+V) и так со всеми оставшимися файлами;
  5. Затем подбираю правый ракурс для левого и перемещаю файл в папку из предыдущего пункта;
  6. Теперь имея в каждой папке файлы вида «L_Photo» и «R_Photo» открываю XnView в режиме проводника, выделяю два файла, жму «Создать» -> «Панорамное изображение» -> «Ok». Т.к. в списке файлов по алфавиту первым идёт L, а затем R, то файлы склеиваются в правильной последовательности;
  7. В полученной стереопаре выделяю область с коэффициентом 1.77 (видно в строке состояния внизу окна), обрезаю Shift+X;
  8. Изменяю размер до 1440 пикселей в высоту с сохранением пропорций. «Изображение» -> «Изменение размера» -> «Высота = 1440» -> «Ок»
  9. Сохраняю результат в PNG с человеческим именем и коэффициентом сжатия 9. «Сохранить как» -> «Тип файла» -> «PNG» -> «Опции» -> «Степень сжатия = 9». Тип файла нужно и степень сжатия нужно указать только 1 раз, в дальнейшем эти настройки сохраняются.

Результат:

Простор

Палатка

Этот механизм актуален для Windows.

Если делать фотографии умещая требуемые объекты в область 8:9 по центру и не допускать появления снимков только на одном из смартфонов, то процесс можно автоматизировать. Как сделать это в Windows я не имею понятия. Но вот в Linux для этого есть все инструменты, вот за это я Линух и люблю.

Если немного поднапрячь мозг, то в Хубунте (Xubuntu) есть встроенный файловый менеджер Thunar (часть окружения рабочего стола Xfce), который в своём составе уже имеет функцию группового переименования файлов (F2), выделения по шаблону и возможность добавления «Особых действий» на нажатие правой кнопкой мыши. Вот с помощью этой замечательной программы и будем делать стерео фото.

Для проведения операций над изображениями нам потребуется пакет ImageMagick.

Также нам нужно предварительно подготовить файлы. Исходя из начальных условий мы имеем 2 папки с изображениями. Т.е. имена всех файлов нужно привести к виду 001_L.jpg и 001_R.jpg с нумерацией до конца списка. Эти файлы из двух папок нужно перенести в одну.

Если после переименования по счётчику в списке файлов закрался лишний или несоответствующий кадр, то его можно удалить или добавить добавить нужный кадр и переименовать заново. Например у нас в папке по сотне файлов правого и левого ракурсов, сбилась нумерация правых кадров начиная с 052. Для этого сортируем список файлов по имени и нажимаем «Правка» -> «Выбрать по шаблону» указываем общую часть имени правых кадров «_R» и нажимаем «Выбрать». Далее чтобы не запутаться жмём правой кнопкой «Вырезать» и переносим файлы в отдельную папку. Если нужно вставить кадр после 052, то добавляем кадр, переименовываем его в 053_01. При сортировке по имени все кадры выстраиваются по порядку и кадр с именем 053_01 примет место непосредственно за 052.

Выделяем все файлы в папке «Правка» -> «Выбрать всё». Жмём «Правка» -> «Переименовать». Устанавливаем параметры как на скриншотеПереименование с нумерацией 3

Затем снова выделяем всё и переименовываем уже с текстом «_R»

Переименование с нумерацией

Так делается потому, что файлы с 001 до 052 уже имеют конечное имя вида 001_R.jpg и переименовывать в такое же имя программа отказывается. Но эта особенность ничтожна ведь выполнение этих операций занимает считанные секунды.

Для конвертации изображений настроем функцию «Особые действия» в вкладке «Правка», для добавления нажимаем  плюсик.

добавить

Команда для особого действия:

convert +append %F -gravity Center -crop 4896×2754+0+0 -resize x1440 `basename %f .jpg`.png

основные параметры

Условия появления

Данная команда «convert +append %F -gravity Center -crop 4896×2754+0+0 -resize x1440 `basename %f .jpg`.png» делает следующее — запускает программу convert с функцией +append %F, что означает «склеить горизонтально список выделенных файлов», далее сделать привязку к центру полученного изображения и обрезать относительно центра область 4896×2754 пикселей, далее полученное изображение уменьшить по высоте функцией «-resize x1440» до высоты 1440 пикселей с сохранением пропорций, далее записать результат в формате PNG с именем первого файла в выбранном списке.

При выполнении этой операции нужно выделить два файла которые мы хотим склеить, причём файлы должны быть отсортированы так чтобы сначала шел левый ракурс, а за тем правый. Нажимаем правую кнопку мыши на выделении и выбираем Convert to 3D Stereo

ВНИМАНИЕ! При склейке таким способом в имени файлов не должно быть пробелов!

ВНИМАНИЕ! размеры 4896×2754 вам нужно заменить на свои. Этот «4896» на двойную ширину ваших кадров, а этот «2754» на «(двойную ширину ваших кадров) поделённую на 1,778 (с округлением до ближайшего целого кратного двум)» т.е. чтобы получить соотношение сторон результата 16:9.

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

В следующей статье я расскажу про монтаж стерео видео и как я это делаю.