showReprojectionErrors

Визуализируйте калибровочные ошибки

Описание

пример

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

пример

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

пример

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

пример

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

Примеры

свернуть все

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

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

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

[imagePoints, boardSize] = detectCheckerboardPoints(imageFileNames);

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

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

Калибруйте камеру.

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

Визуализируйте ошибки как столбчатый график.

subplot(1,2,1);
showReprojectionErrors(params);

Figure contains an axes object. The axes object with title Mean Reprojection Error per Image contains 3 objects of type bar, line. This object represents Overall Mean Error: 0.25 pixels.

Визуализируйте ошибки как график рассеивания.

subplot(1,2,2);
showReprojectionErrors(params,'ScatterPlot');

Figure contains 2 axes objects. Axes object 1 with title Mean Reprojection Error per Image contains 3 objects of type bar, line. This object represents Overall Mean Error: 0.25 pixels. Axes object 2 with title Reprojection Errors in Pixels contains 5 objects of type line. These objects represent 1, 2, 3, 4, 5.

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

imageDir = fullfile(toolboxdir('vision'),'visiondata', ...
    'calibration','stereo');
leftImages = imageDatastore(fullfile(imageDir,'left'));
rightImages = imageDatastore(fullfile(imageDir,'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.

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

свернуть все

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

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

Столбчатый график или график рассеивания просматривают в виде любого 'BarGraph' или 'ScatterPlot'. view введите устанавливает визуализацию для параметров значения внешних параметров камеры. Установите view к 'BarGraph' отобразить среднюю погрешность на изображение как столбчатый график. Установите view к 'ScatterPlot' отобразить ошибку для каждой точки как график рассеивания. 'ScatterPlot' опция применяется только к одному чехлу для камеры.

Аргументы name-value

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

Пример: 'view', 'BarGraph' отображает среднюю погрешность на изображение как столбчатый график.

Подсветите индекс выбора в виде скаляра или вектора из целых чисел. Когда вы устанавливаете view к 'BarGraph', функция подсвечивает панели, соответствующие выбранным изображениям. Когда вы устанавливаете view к 'ScatterPlot', функция подсвечивает точки, соответствующие выбранным изображениям с круговыми маркерами.

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

ax = showReprojectionErrors(cameraParams)

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

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

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

свернуть все

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

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

Введенный в R2014a