Перейти к основному содержимому
Версия: 3.22.0 (последняя)

Калибровка камеры и коррекция дисторсии

В случае если камера передает кадры с дисторсионным искажением, необходимо провести коррекцию дисторсии. Для коррекции потребуется выполнить калибровку камеры, т.е. определить ее внутренние и внешние параметры.

Калибровка камеры

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

  1. Перед калибровкой необходимо распечатать калибровочный шаблон и закрепить его на плоской поверхности, желательно черного цвета.

    Существует три вида калибровочных шаблонов:

    • asymmetric circles grid pattern (рекомендован к использованию)
    • chessboard pattern
    • circles grid pattern
  1. Создайте объект CameraCalibrator с помощью метода FacerecService.createCameraCalibrator.

  2. Выполните инициализацию объекта CameraCalibrator, вызвав метод CameraCalibrator.initCalibration.

  3. Сделайте снимки калибровочного шаблона в различных позициях и ориентациях с помощью камеры, которую нужно скалибровать, с передачей кадров в метод CameraCalibrator.addImage.

  4. Используйте метод CameraCalibrator.getPatternSpaceCoverProgress, чтобы получить оценку покрытия пространства позиций и ориентаций калибровочного шаблона для более точной калибровки. Метод CameraCalibrator.getTip возвращает подсказку необходимой позиции и шаблона.

  5. Вызовите метод CameraCalibrator.calibrate.

  6. После успешной калибровки (true) сохраните параметры калибровки с помощью метода CameraCalibrator.saveCameraParameters. Если калибровка не пройдена (false), добавьте больше изображений и выполните калибровку повторно.

  7. Чтобы начать калибровку заново, вызовите метод CameraCalibrator.initCalibration.

Пример проведения калибровки: test_calibration.

Подробная информация по запуску и работе с сэмплом по калибровке: test_calibration

Коррекция дисторсии

Для коррекции дисторсии выполните следующие шаги:

  1. Загрузите сохраненные откалиброванные параметры с помощью метода CameraCalibrator.loadCameraParameters.
  2. Произведите коррекцию дисторсии изображения с помощью метода CameraCalibrator.undistort.

Пример использования CameraCalibrator см. в test_calibration.