exponenta event banner

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 N 3 truecolor или в 2-х оттенках серого M на Н. Входное изображение должно быть реальным и непроверенным.

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

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

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

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

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

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

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

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

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

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

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

'full'

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

'valid'

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

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

свернуть все

Неискаженное изображение, возвращенное или в M N 3 truecolor или в 2-х оттенках серого M на Н.

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

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

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

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

PI = PJ + newOrigin

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

.
Представлен в R2014a