showExtrinsics

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

Описание

пример

showExtrinsics(cameraParams) визуализирует 3-D визуализацию внешних параметров одной калиброванной камеры или калиброванного стерео пары. Это графики функций вид 3-D калибровочных шаблонов относительно камеры. The cameraParams вход содержит либо cameraParameters, fisheyeParameters, или stereoParameters объект, который estimateCameraParameters или estimateFisheyeParameters функция возвращается.

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

пример

showExtrinsics(cameraParams,view) отображает визуализацию внешних параметров камеры с помощью стиля, заданного view вход.

пример

showExtrinsics(___,Name,Value) использует дополнительные опции, заданные одним или несколькими Name,Value аргументы в виде пар, с использованием любого из предыдущих синтаксисов.

пример

ax = showExtrinsics(___) возвращает ось графика, используя любой из предыдущих синтаксисов.

Примеры

свернуть все

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

images = imageDatastore(fullfile(toolboxdir('vision'),'visiondata', ...
  'calibration','webcam'));
imageFileNames = images.Files(1:5);

Обнаружите калибровочный шаблон.

[imagePoints,boardSize] = detectCheckerboardPoints(imageFileNames);

Сгенерируйте мировые координаты углов квадратов. Размер квадрата - в миллиметрах.

squareSide = 25;
worldPoints = generateCheckerboardPoints(boardSize,squareSide);

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

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

Визуализация расположения шаблонов.

figure
showExtrinsics(cameraParams);

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

Визуализация расположения фотоаппарата.

figure
showExtrinsics(cameraParams,'patternCentric');

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

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

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

Обнаружение контрольных плат.

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

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

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

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

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

Визуализация расположения шаблонов.

figure; 
showExtrinsics(cameraParams);

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

Визуализация расположения фотоаппарата.

figure; 
showExtrinsics(cameraParams,'patternCentric');

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

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

свернуть все

Объект, содержащий параметры одиночной камеры или стерео пары, заданные как cameraParameters, fisheyeParameters, или stereoParameters объект. Вы можете создать одну камеру или стерео пары входа объекта с помощью estimateCameraParameters функция. Входной объект параметров рыбий глаз создается с помощью estimateFisheyeParameters.

Вы также можете использовать приложение Camera Calibrator, чтобы создать cameraParameters входной объект или используйте Stereo Camera Calibrator приложение, чтобы создать stereoParameters входной объект. Смотрите приложение Single Camera Calibrator и приложение Stereo Camera Calibrator.

Камера или ориентированный на шаблон вид, заданный как 'CameraCentric' или 'PatternCentric'. The view вход устанавливает визуализацию для внешних параметров камеры. Если при перемещении калибровочного шаблона камера остается неподвижной, установите view на 'CameraCentric'. Если шаблон является стационарным во время перемещения камеры, установите его равным 'PatternCentric'.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: 'HighlightIndex', [1, 4] устанавливает 'HighlightIndex' к шаблонам 1 и 4.

Выделите индекс выбора, заданный как скаляр или вектор из целых чисел. Для примера, если вы хотите подсветить шаблоны 1 и 4, используйте [1, 4]. Это увеличивает непрозрачность шаблонов 1 и 4 в отличие от остальных шаблонов.

Выходные оси, заданные как разделенная разделенными запятой парами, состоящая из 'Parent'и оси. Можно получить указатель на текущую систему координат, вернув функцию к переменному выходу:

ax = showExtrinsics(cameraParams)

Вы также можете использовать gca функция для получения указателя на текущую систему координат.

Пример: showExtrinsics(cameraParams,'Parent',ax)

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

свернуть все

Текущая система координат, возвращенный как скалярное значение. Функция возвращает указатель на текущие системы координат для текущей фигуры.

Пример: ax = showExtrinsics(cameraParams)

Введенный в R2014a