exponenta event banner

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. 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.

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

Гистограмма или вид графика разброса, заданный как '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