stereoParameters

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

Описание

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

Создание

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

Описание

stereoParams = stereoParameters(cameraParameters1,cameraParameters2,tformOfCamera2) возвращает объект системных параметров стереофотоаппарата использование параметров камеры от двух камер и tformOfCamera2 объект, который задает преобразование камеры 2 относительно камеры 1. cameraParameters1 и cameraParameters2 содержите внутренние параметры и значения внешних параметров камеры 1 и камеры 2 соответственно.

пример

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

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

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

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

Преобразование камеры 2 относительно камеры 1 в виде rigid3d.

Параметры стерео в виде 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.

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

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

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

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

Мировые координаты ключевых пунктов в калибровочном шаблоне в виде 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);

Figure contains an axes object. The axes object with title Mean Reprojection Error per Image contains 5 objects of type bar, line. These objects represent Camera 1, Camera 2, Overall Mean Error: 0.06 pixels.

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

figure;
showExtrinsics(params);

Figure contains an axes object. The axes object with title Extrinsic Parameters Visualization contains 28 objects of type patch, text, line.

Ссылки

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

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

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

Введенный в R2014a