3. Скрипт 3_chess_cycle.py - серия фото для калибровки стереопары

Назначение третьего скрипта

Данный скрипт делает серию из 15 фотографий для калибровки камеры. Перед каждой фотографией отображается окно предварительного просмотра (в режиме видео) и выводится таймер обратного отсчета (5 секунд). Для работы вам понадобится распечатанное на листе А4 изображение шахматной доски (скачать можно отсюда).

Исходный код: https://github.com/realizator/3dberry-turorial/blob/master/3_chess_cycle.py

Скрипт делает следующее:

  • Отображает предварительный просмотр сцены в режиме видео
  • Показывает таймер обратного отсчета (5 секунд)
  • Делает фото, сохраняет его с соответствующим именем
  • Повторяет процедуру 15 раз
Запуск скрипта командой:

python 3_chess_cycle.py

Немного подробностей

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

 

ВАЖНО:

  • При фотографировании не следует держать доску перпендикулярно оси камеры – лучше чтобы она была под углом, с перспективными искажениями.
  • Желательно на разных кадрах располагать доску в разных областях изображения – сверу, снизу, по бокам, по углам
  • Захват осуществляется из видеопотока а не утилитой raspistill (технические подробности ниже) – поэтому на последних секундах перед фото лучше избежать движения в кадре во избежание размытости изображения. 

РЕЗУЛЬТАТ: в текущей папке появляются 15 изображений с именами вида scene_1280x720_01.png 

Для дальнейшей работы их нужно положить в папку ./src. Сохранение не в эту папку сделано специально – чтобы при фотографировании случайно не затереть предыдущую серию.