exponenta event banner

showExtrinsics

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

Описание

пример

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

С помощью функции sunExtrinsics отображается 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.

Можно также использовать приложение «Калибратор камеры» для создания cameraParameters или используйте приложение «Калибратор стереокамеры» для создания stereoParameters входной объект. См. раздел Приложение калибратора одной камеры и Приложение калибратора стереокамеры.

Камера или ориентированный на массив вид, указанный как 'CameraCentric' или 'PatternCentric'. 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