Итак, проект StereoPi уже нехило так продвинулся, железо рабочее есть в достаточном количестве, можно всякие штуки под неё делать.
На этот раз, попробуем сделать сферическую панораму. Зря, что-ли, у нас две камеры на борту. Конечно, можно было две камеры подключить и к обычной малине, в режиме мультиплексирования (то одна камера работает, то другая, выбор нужной - через GPIO). Но тогда кадры будут сниматься последовательно, а при наличии движения это не очень гут. Правда, при "одновременной" съёмке с двух камер стереопишки тоже синхронизации нет никакой, тупо два raspistill одновременно запускаются. Но тут больше шансов что объекты на границе шибко не разбегутся. Ещё и видео можно одновременно двумя камерами снимать, а потом в сферическую видеопанораму сшить. Но это я потом как-нибудь попробую, для начала надо с фото-панорамами разобраться.
Далее встала проблема - как из этих двух фишайных картинок автоматически сделать картинку с эквидистантной проекцией, которую кушают практически все просмотрщики панорам. Преобразование хочется делать прям на борту стереопишки, без использования специального панорамного софта.
После долгих изысканий был найден проект 360-camera, откуда и были взяты за основу скрипты.
Но сначала нам таки придётся воспользоваться отдельной панорамной прогой, чтобы подготовить шаблон для преобразования. Прога называется Hugin, скачать можно вот тут http://hugin.sourceforge.net/download/.
1. Итак, скачали, установили, запустили. 2. Выбираем в меню "Интерфейс" вариант "Simple".
4. Задаём "Тип объектива" - "Круговой ВырвиГлаз". "Фокусное расстояние" 1,2mm и "Множитель фокусного расстояния" 7,6x. А во вкладке "Проекция" убеждаемся что стоит поле зрения 360х180 и "Эквидистантная". По дефолту так оно и должно быть.
5. Жмём кнопку "2. Выровнять...". Начнётся поиск контрольных точек, должно найтись где-то 10-13 точек. Панорамка уже начинает быть похожа на панорамку.
6. Теперь самое главное - сохранить проект, так как именно он нам потребуется для последующей автоматической склейки всех последующих панорам, снятых этими нашими двумя фишайными камерами. "Файл" -> "Сохранить как" -> имя файла stereopi-template.pto
8. Возвращаемся во вкладку "Ассистент" (если мы вдруг оттуда уходили) и жмём "Создать панораму..." Откроется дополнительное окно, там выбираем высоту 1944, ширина сама высчитается. LDR Формат (формат картинки на выходе) задаём JPEG. Качество - какое хотите, по дефолту - 90. Коррекции не трогаем пока. Жмём ОК. Задаём имя файла с результатом. И жмём "Сохранить".
Это и есть необходимая нам эквидистантная проекция нашей сферической панорамы!
Но это фигня!
Мы-то хотим не париться с каждой фоткой, нам нужно сей процесс автоматизировать. Для этого и понадобится файл проекта, который мы сохранили на пункте 6. Берём наш файл проекта (у меня это stereopi-template.pto) и копируем на стереопишку.
Туда же копируем скрипт склейки stereopi-stich.sh Скрипту нужно два входных параметра - имена файлов фишайных фоток которые надо склеить в эквидистантную проекцию.
Но сначала надо установить на стереопишку весь необходимый софт. Просто скачиваем этот скрипт и на стеропишке запускаем. installer.sh
Всё! Мы автоматически склеили два фишая в эквидистантку! И этим же скриптом можно склеивать и все последующие фотки, главное чтобы взаимное размещение наших камер шибко не менялось, а то склейка поедет.
Теперь нужно его впендюрить куда-нибудь на сайт. Для просмотра нашей панорамы на сайте нужен панорамный плеер.
Имхо, лучший встраиваемый плеер для панорам - KRPano. Могёт и фото, и видео. Да, платный. Я лицензию на него уже покупал лет пять назад, но тогда плеер был на флеше сделан и HTML5 не умел. А теперь умеет, но надо заново лицензию покупать. https://krpano.com/
Можно скачать мой архивчик где внутри уже всё что нужно чтобы увидеть вот такое. Самый ништяг - литтл планет (выбор режима просмотра - клик правой кнопкой мыши).
Гость Вторник, 17 Марта, 2020 17:26 цитировать ссылка на коммент
Gol Четверг, 19 Марта, 2020 01:05 цитировать ссылка на коммент
Спасибо за добро слово!