Cкрипт Camera_calibration

Скрипт Camera_calibration позволяет откалибровать камеру квадрокоптера Пионер Мини для корректной работы функций компьютерного зрения. Калибровка камеры - процесс оценки её различных параметров. Это значит, что у нас есть полная информация (технические характеристики или расчётные коэффициенты) о камере, необходимые для определения точной взаимосвязи между 3D точкой в реальном мире и соответствующим 2D изображением, проекцией (каждым пикселем) на изображении, снятом откалиброванной камерой.

Алгоритм калибровки

  1. Скачайте и распечатайте изображение «шахматной доски»: (Скачать изображений для калибровки)

  2. Запустите скрипт. Появится окно с видеопотоком с камеры Пионера.

  3. Нажатием на клавишу «1» сделайте 10-15 фотографий шахматной доски с разных ракурсов. Когда кадры сделаны, нажмите клавишу “Q” для выхода из режима фотографирования.

  4. Далее на экране будут появляться изображения с распознанными узлами сетки. Нажатием любой клавиши можно перейти к следующему изображению.

  5. Убедитесь, что в дереве проекта появился файл с названием “data.yml”.

Разбор скрипта

  1. Импортируем необходимые библиотеки и определяем их назначение:

 import cv2
 import numpy as np
 import glob
 import time
 from pioneer_sdk import Camera
  1. Функция get_images_from_drone_camera - возвращает массив изображений с камеры дрона, который записывается в переменную images.

  2. Функция calibrate - возвращает коэффициенты, полученные в результате калибровки камеры. Они записываются в переменные mtx, dist.

  3. Функция save_coefficients - сохраняет коэффициенты в файл “data.yml”. При последующих запусках программ, необходимые коэффициенты будут считаны из этого файла.