estimateStereoBaseline

Оцените базовую линию стереофотоаппарата

Описание

пример

[stereoParams,pairsUsed,estimationErrors] = estimateStereoBaseline(imagePoints,worldPoints,intrinsics1,intrinsics2) оценивает перевод и ориентацию между двумя камерами того же разрешения. estimateStereoBaseline функция лучше всего используется в системе стерео с широкой базовой линией.

[stereoParams,pairsUsed,estimationErrors] = estimateStereoBaseline(imagePoints,worldPoints,intrinsics1,intrinsics2,'WorldUnits',units) задает модули в который worldPoints измеряются.

Примеры

свернуть все

Загрузите параметры внутреннего параметра камеры.

ld = load('wideBaselineStereo');

Задайте калибровочные изображения стерео.

leftImages = imageDatastore(fullfile(toolboxdir('vision'),'visiondata', ...
    'calibration','wideBaseline','left'));
rightImages = imageDatastore(fullfile(toolboxdir('vision'),'visiondata', ...
    'calibration','wideBaseline','right'));

Обнаружьте шахматные доски.

[imagePoints, boardSize] = ...
    detectCheckerboardPoints(leftImages.Files,rightImages.Files);

Задайте мировые координаты шахматной доски keypoints.

squareSize = 29; % in millimeters
worldPoints = generateCheckerboardPoints(boardSize,squareSize);

Оцените базовые и внешние параметры.

params = estimateStereoBaseline(imagePoints,worldPoints, ...
    ld.intrinsics1,ld.intrinsics2)
params = 
  stereoParameters with properties:

   Parameters of Two Cameras
        CameraParameters1: [1x1 cameraParameters]
        CameraParameters2: [1x1 cameraParameters]

   Inter-camera Geometry
        RotationOfCamera2: [3x3 double]
     TranslationOfCamera2: [-978.9732 55.2644 547.8082]
        FundamentalMatrix: [3x3 double]
          EssentialMatrix: [3x3 double]

   Accuracy of Estimation
    MeanReprojectionError: 0.2699

   Calibration Settings
              NumPatterns: 6
              WorldPoints: [54x2 double]
               WorldUnits: 'mm'

Визуализируйте калибровочную точность.

figure
showReprojectionErrors(params)

Визуализируйте значения внешних параметров камеры.

figure
showExtrinsics(params)

Входные параметры

свернуть все

Ключевые пункты калибровочного шаблона в виде M-by-2-by-numPairs-by-2 массив. Массив содержит [x, y] внутренние координаты изображений ключевых пунктов в калибровочном шаблоне.

  • numPairs является количеством пар стереоизображения, содержащих калибровочный шаблон.

  • Количество координат keypoint в каждом шаблоне, M, должно быть больше 3.

  • imagePoints(:,:,:,1) точки от камеры 1.

  • imagePoints(:,:,:,2) точки от камеры 2.

Типы данных: single | double

Ключевые пункты калибровочного шаблона в мировых координатах в виде M-by-2 массив количества M [x, y] мировые координаты. Шаблон должен быть плоским; поэтому, z - координаты являются нулем.

Типы данных: single | double

Внутренние параметры камеры 1 в виде cameraIntrinsics объект. Информация об объектно-ориентированной памяти внутренних параметров о внутренних калибровочных параметрах камеры, включая искажение объектива.

Внутренние параметры камеры 2 в виде cameraIntrinsics объект. Информация об объектно-ориентированной памяти внутренних параметров о внутренних калибровочных параметрах камеры, включая искажение объектива.

Мир указывает модули в виде строки, представляющей модули.

Выходные аргументы

свернуть все

Параметры камеры для системы стерео, возвращенной как stereoParameters объект. Объект содержит внутренний параметр, значение внешних параметров и параметры искажения объектива системы стереофотоаппарата.

Отобразите пары, используемые, чтобы оценить параметры камеры, возвращенные как numPairs-by-1 логический массив. Логический true значение в векторе указывает, который это пары изображений использовались, чтобы оценить параметры камеры. Пара изображений не будет использоваться в оценке, если алгоритм не оценит homography между мировыми точками и точками, обнаруженными в той паре изображений.

Стандартные погрешности предполагаемых параметров, возвращенных как stereoCalibrationErrors объект.

Введенный в R2018a