showReprojectionErrors

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

Синтаксис

showReprojectionErrors(cameraParams)
showReprojectionErrors(cameraParams,view)
showReprojectionErrors(___,Name,Value)
ax = 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 должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

ax = showReprojectionErrors (cameraParams)

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

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

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

свернуть все

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

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

Введенный в R2014a