undistortFisheyeImage

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

Синтаксис

J = undistortFisheyeImage(I,intrinsics)
[J,camIntrinsics] = undistortFisheyeImage(I,intrinsics)
[___] = undistortFisheyeImage(___,interp)
[___] = undistortFisheyeImage(___,Name,Value)

Описание

пример

J = undistortFisheyeImage(I,intrinsics) удаляет искажение объектива для изображения I и возвращает результат как изображение J.

[J,camIntrinsics] = undistortFisheyeImage(I,intrinsics) также возвращает объект cameraIntrinsics, который соответствует виртуальной перспективной камере, которая производит, отображают J.

[___] = undistortFisheyeImage(___,interp) задает метод интерполяции, interp, с помощью предыдущих синтаксисов.

пример

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

Примеры

свернуть все

Удалите искажение объектива из изображения подозрительного взгляда путем обнаружения checkboard калибровочного шаблона и калибровки камеры. Затем отобразите результаты.

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

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

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

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

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

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

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

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

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

J1 = undistortFisheyeImage(I,params.Intrinsics);
figure
imshowpair(I,J1,'montage')
title('Original Image (left) vs. Corrected Image (right)')

J2 = undistortFisheyeImage(I,params.Intrinsics,'OutputView','full');
figure
imshow(J2)
title('Full Output View')

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

свернуть все

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

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

Подозрительный взгляд внутренние параметры камеры, заданные как объект fisheyeIntrinsics.

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

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

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

Пример: 'ScaleFactor', 2 устанавливает масштабный коэффициент увеличивать увеличение поля зрения камеры.

Размер выходного изображения, заданного или как 'same', 'full' или как 'valid'.

Масштабный коэффициент для фокусного расстояния виртуальной перспективы камеры, в пикселях, заданных как скаляр или вектор [sx sy]. Задайте вектор, чтобы масштабировать x и оси y индивидуально. Увеличьте шкалу, чтобы увеличить масштаб перспектива поля зрения камеры.

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

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

свернуть все

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

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

Неискаженный intrinsics виртуальной камеры, возвращенной как объект cameraIntrinsics. Эти intrinsics для камеры, которая имеет перспективу, которая производит неискаженное изображение.

Введенный в R2017b

Для просмотра документации необходимо авторизоваться на сайте