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);

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

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

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

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);

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

свернуть все

Объект, содержащий параметры одной камеры или стереопары, заданной как любой 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

ax = showReprojectionErrors(cameraParams)

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

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

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

свернуть все

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

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

Введенный в R2014a