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. Сохранение не в эту папку сделано специально – чтобы при фотографировании случайно не затереть предыдущую серию.