estimateFisheyeParameters

Калибровка fisheye камеры

Описание

пример

[fisheyeParams,imagesUsed,estimationErrors] = estimateFisheyeParameters(imagePoints,worldPoints,imageSize) возвращает fisheyeParameters объект, содержащий оценки для внутренних и внешних параметров fisheye-камеры. Функция также возвращает изображения, вы раньше оценивали параметры подозрительного взгляда и стандартные ошибки оценки для одной калибровки фотоаппарата.

[___] = estimateFisheyeParameters(___,Name,Value) конфигурирует fisheyeParams свойства объектов заданы одним или несколькими Name,Value парные аргументы, с помощью предыдущего синтаксиса. Незаданные свойства имеют свои значения по умолчанию.

Примеры

свернуть все

Используйте калибровочные изображения, чтобы обнаружить калибровочный шаблон шахматной доски. Затем калибруйте камеру с помощью углов, извлеченных из шаблона, и визуализируйте результаты.

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

images = imageDatastore(fullfile(toolboxdir('vision'),'visiondata',...
        'calibration','gopro'));
imageFileNames = images.Files;

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

[imagePoints,boardSize] = detectCheckerboardPoints(imageFileNames);

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

squareSize = 29; % millimeters
worldPoints = generateCheckerboardPoints(boardSize,squareSize);

Оцените калибровочные параметры fisheye-камеры на основе изображения и мировых точек.

I = readimage(images,1); 
imageSize = [size(I,1) size(I,2)];
params = estimateFisheyeParameters(imagePoints,worldPoints,imageSize);

Визуализируйте калибровочную точность.

figure
showReprojectionErrors(params);

Визуализируйте значения внешних параметров камеры.

figure
showExtrinsics(params);

drawnow

Постройте обнаруженные и повторно спроектированные точки.

figure 
imshow(I); 
hold on
plot(imagePoints(:,1,1),imagePoints(:,2,1),'go');
plot(params.ReprojectedPoints(:,1,1),params.ReprojectedPoints(:,2,1),'r+');
legend('Detected Points','Reprojected Points');
hold off

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

свернуть все

Ключевые пункты калибровочного шаблона, заданного как M-by-2-by-numImages массив [x, y] внутренний параметр, отображают координаты. Количество изображений, numImages, должно быть больше 2. Количество координат keypoint в каждом шаблоне, M, должно быть больше 3.

Типы данных: single | double

Ключевые пункты калибровочного шаблона в мировых координатах, заданных как M-by-2 матрица M [x, y] мировые координаты. Поскольку шаблон должен быть плоским, z - координаты являются нулем.

Типы данных: single | double

Размер изображения, заданный как [mrows ncols] вектор.

Аргументы в виде пар имя-значение

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

Пример: 'WorldUnits', 'mm' устанавливает мировые модули точки на миллиметры.

Оцените выравнивание осей, заданное как разделенная запятой пара, состоящая из 'EstimateAlignment' и false или true. Установите на true если оптическая ось линзы подозрительного взгляда не перпендикулярна плоскости изображения.

Мировые модули точки, заданные как разделенная запятой пара, состоящая из 'WorldUnits' и вектор символов или скаляр строки. Этот аргумент используется просто, чтобы сохранить модульный тип и не влияет ни на какие вычисления.

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

свернуть все

Параметры fisheye-камеры, возвращенные как fisheyeParameters объект.

Изображения используются к оценочным параметрам камеры, возвращенным как P-by-1 логический массив. P соответствует количеству изображений. Логический true значение указывает, что индекс изображения раньше оценивал параметры камеры.

Стандартные погрешности предполагаемых параметров, возвращенных как fisheyeCalibrationErrors объект.

Ссылки

[1] Scaramuzza, D., А. Мартинелли и Р. Сигварт. "Тулбокс для легкой калибровки камеры Omindirectional". Продолжения к международной конференции IEEE по вопросам интеллектуальных роботов и систем (IROS 2006). Пекин, Китай, 7-15 октября 2006.

[2] Городской, S., Дж. Лейтлофф и С. Хинц. "Улучшенный Широкий угол, Подозрительный взгляд и Всенаправленная Калибровка фотоаппарата". Журнал ISPRS Фотограмметрии и Удаляет Обнаружение. Издание 108, 2015, pp.72-79.

Введенный в R2017b