showReprojectionErrors

Визуализация ошибок калибровки

Описание

пример

showReprojectionErrors(cameraParams) отображает гистограмму, которая представляет точность калибровки для одной камеры или для стерео пары. На гистограмме отображается средняя ошибка перепроекции на изображение. The 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. The axes 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. Axes 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 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);

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

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. The axes 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 входной объект. Смотрите приложение Single Camera Calibrator и приложение Stereo Camera Calibrator.

Штриховой график или график поля точек, заданный как 'BarGraph' или 'ScatterPlot'. The view вход устанавливает визуализацию для внешних параметров камеры. Задайте view на 'BarGraph' отображение средней ошибки на изображение в виде гистограммы. Задайте view на 'ScatterPlot' отображение ошибки для каждой точки в виде графика поля точек. The '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