стереопараметры

Объект для хранения системных параметров стереофотоаппарата

Описание

Объектно-ориентированная память stereoParameters внутренние и внешние параметры двух камер и их геометрического отношения.

Создание

Можно создать объект stereoParameters с помощью функции stereoParameters, описанной здесь. Можно также создать объект stereoParameters при помощи estimateCameraParameters с M-by-2-by-numImages-by-2 массив входных точек изображений, где M является количеством координат keypoint в каждом шаблоне.

Синтаксис

stereoParams = stereoParameters(cameraParameters1,cameraParameters2,rotationOfCamera2,translationOfCamera2)
stereoParams = stereoParameters(paramStruct)

Описание

пример

stereoParams = stereoParameters(cameraParameters1,cameraParameters2,rotationOfCamera2,translationOfCamera2) создает объект stereoParameters, который содержит параметры системы стереофотоаппарата и устанавливает CameraParameters1, CameraParameters2, RotationOfCamera2 и свойства TranslationOfCamera2.

stereoParams = stereoParameters(paramStruct) создает идентичный объект stereoParameters из существующего объекта stereoParameters с параметрами, сохраненными в paramStruct.

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

развернуть все

Параметры стерео, заданные как struct параметров стерео. Чтобы получить paramStruct от существующего объекта stereoParameters, используйте функцию toStruct.

Свойства

развернуть все

Внутренние и внешние параметры этих двух камер

Параметры камеры 1, заданный как объект cameraParameters. Объект содержит внутреннее, внешнее, и параметры искажения объектива камеры.

Параметры камеры 2, заданный как объект cameraParameters. Объект содержит внутреннее, внешнее, и параметры искажения объектива камеры.

Геометрическое отношение между этими двумя камерами

Вращение камеры 2 относительно камеры 1, заданный как 3х3 матрица.

Перевод камеры 2 относительно камеры 1, заданный как вектор с 3 элементами.

Основная матрица, сохраненная как 3х3 матрица. Основная матрица связывает эти два стереофотоаппарата, такие, что следующее уравнение должно быть верным:

[P21]*FundamentalMatrix*[P11]'=0

P1, точка в изображении 1 в пикселях, соответствует точке, P2, в изображении 2.

Существенная матрица, сохраненная как 3х3 матрица. Существенная матрица связывает эти два стереофотоаппарата, такие, что следующее уравнение должно быть верным:

[P21]*EssentialMatrix*[P11]'=0

P1, точка в изображении 1, соответствует P2, точке в изображении 2. Обе точки выражаются в нормированных координатах изображений, где источник в оптическом центре камеры. x и пиксельные координаты y нормированы фокусным расстоянием f x и f y.

Точность предполагаемых параметров

Среднее Евклидово расстояние между повторно спроектированными точками и обнаруженными точками по всем парам изображений, заданным в пикселях.

Настройки для оценки параметра камеры

Количество калибровочных шаблонов, которые оценивают extrinsics этих двух камер, сохраненных как целое число.

Мировые координаты ключевых пунктов в калибровочном шаблоне, заданном как M-by-2 массив. M представляет количество ключевых пунктов в шаблоне.

Мир указывает модули, заданные как вектор символов. Вектор символов описывает единицы измерения.

Функции объекта

toStructПреобразуйте объект параметров стерео в struct

Примеры

свернуть все

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

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

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

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

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

squareSize = 108;
worldPoints = generateCheckerboardPoints(boardSize,squareSize);

Калибруйте систему стереофотоаппарата. Обе камеры имеют то же разрешение.

I = readimage(leftImages,1); 
imageSize = [size(I,1),size(I,2)];
params = estimateCameraParameters(imagePoints,worldPoints, ...
                                  'ImageSize',imageSize);

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

  showReprojectionErrors(params);

Визуализируйте камеру extrinsics.

figure;
showExtrinsics(params);

Ссылки

[1] Чжан, Z. “Гибкий Новый техник для Калибровки фотоаппарата”. Транзакции IEEE согласно Анализу Шаблона и Искусственному интеллекту. Издание 22, № 11, 2000, стр 1330–1334.

[2] Heikkila, J, и О. Сильвен. “Процедура калибровки фотоаппарата с четырьмя шагами с неявным исправлением изображений”. Международная конференция IEEE по вопросам компьютерного зрения и распознавания образов. 1997.

Расширенные возможности

Введенный в R2014a