undistortImage

Правильный образ для искажения объектива

Описание

пример

[J,newOrigin] = undistortImage(I,cameraParams) возвращает изображение, J, содержа входное изображение, I, с удаленным искажением объектива. Функция также возвращается [x, y] местоположение источника выходного изображения. Местоположение установлено в терминах входных координат внутреннего параметра, заданных в cameraParams.

[J,newOrigin] = undistortImage(I,cameraParams,interp) задает метод интерполяции для функции, чтобы использовать на входном изображении.

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

Примеры

свернуть все

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

images = imageDatastore(fullfile(toolboxdir('vision'),'visiondata', ...
    'calibration','mono'));

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

[imagePoints,boardSize] = detectCheckerboardPoints(images.Files);

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

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

Калибруйте камеру.

I = readimage(images,1); 
imageSize = [size(I,1),size(I,2)];
cameraParams = estimateCameraParameters(imagePoints,worldPoints, ...
                                  'ImageSize',imageSize);

Удалите искажение объектива и отобразите результаты.

I = images.readimage(1);
J1 = undistortImage(I,cameraParams);
figure; imshowpair(I,J1,'montage');
title('Original Image (left) vs. Corrected Image (right)');

Figure contains an axes. The axes with title Original Image (left) vs. Corrected Image (right) contains an object of type image.

J2 = undistortImage(I,cameraParams,'OutputView','full');
figure; 
imshow(J2);
title('Full Output View');

Figure contains an axes. The axes with title Full Output View contains an object of type image.

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

свернуть все

Введите изображение, заданное или в M-by-N-by-3 истинный цвет или в M-by-N 2D шкала полутонов. Входное изображение должно быть действительным и неразреженным.

Типы данных: single | double | int16 | uint8 | uint16 | logical

Параметры камеры в виде cameraParameters или cameraIntrinsics объект. Можно возвратить cameraParameters объект с помощью estimateCameraParameters функция. cameraParameters объект содержит внутренний параметр, значение внешних параметров и параметры искажения объектива камеры.

Метод интерполяции использовать на входе отображает в виде 'linear'самый близкий , или 'cubic'.

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

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

Пример: 'FillValues',0 устанавливает наборы значения заливки выходного пикселя на 0.

Значения заливки выходного пикселя в виде разделенной запятой пары, состоящей из 'FillValues'и массив, содержащий одно или несколько значений заливки. То, когда соответствующая инверсия преобразовала местоположение во входное изображение, находится полностью вне входных границ изображения, вы используете значения заливки для выходных пикселей. Когда вы используете 2D полутоновое входное изображение, необходимо установить FillValues к скаляру. Когда вы используете истинный цвет, FillValues может быть скаляр или вектор с 3 элементами из значений RGB.

Размер выходного изображения в виде разделенной запятой пары, состоящей из 'OutputView'same'полный, или 'valid'. Когда вы устанавливаете свойство на 'same', функция устанавливает выходное изображение совпадать с размером входного изображения. Когда вы устанавливаете свойство на 'full', выход включает все пиксели от входного изображения. Когда вы устанавливаете свойство на 'valid', функциональные обрезки выходное изображение, чтобы содержать только допустимые пиксели.

Для входного изображения:

OutputViewВыходное изображение
'same'

Совпадайте с размером входного изображения.

'full'

Все пиксели от входного изображения.

'valid'

Только допустимые пиксели от входного изображения.

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

свернуть все

Неискаженное изображение, возвращенное или в M-by-N-by-3 истинный цвет или в M-by-N 2D шкала полутонов.

Типы данных: single | double | int16 | uint8 | uint16 | logical

Источник выходного изображения, возвращенный как с 2 элементами [x, y] вектор. Функция устанавливает выходное местоположение источника в терминах входных координат внутреннего параметра. Когда вы устанавливаете OutputView к 'same', что означает, что выходное изображение одного размера с входным изображением, функция устанавливает newOrigin к [0,0].

newOrigin выведите представляет перевод из внутренних координат выходного изображения J во внутренние координаты входа отображают I.

Позвольте PI представлять точку во внутренних координатах входного изображения I.
Позвольте PJ представлять ту же точку во внутренних координатах выходного изображения J.

PI = PJ + newOrigin

Расширенные возможности

Введенный в R2014a