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