affineOutputView

Создайте выходное представление для деформирования изображений

Описание

Rout = affineOutputView(sizeA,tform) берет размер входного изображения, sizeA, и аффинное геометрическое преобразование, tform, и возвращает пространственный объект привязки, Rout. Можно использовать этот объект в качестве входа к imwarp управлять выходными пределами и интервалом сетки деформированного изображения.

пример

Rout = affineOutputView(sizeA,tform,'BoundsStyle',style) также задает ограничения на пространственные пределы выходного представления, такой как, должно ли выходное представление полностью содержать выходное изображение или должно ли выходное представление совпадать с входными пределами.

Примеры

свернуть все

Считайте и отобразите изображение. Чтобы видеть пространственные степени изображения, сделайте оси видимыми.

A = imread('kobi.png');
iptsetpref('ImshowAxesVisible','on')
imshow(A)

Figure contains an axes. The axes contains an object of type image.

Создайте 2D аффинное преобразование. Этот пример создает рандомизированное преобразование, которое состоит из шкалы фактором в области значений [1.2, 2.4], вращение углом в области значений [-45, 45] степени и горизонтальный перевод расстоянием в области значений [100, 200] пиксели.

tform = randomAffine2d('Scale',[1.2,2.4],'XTranslation',[100 200],'Rotation',[-45,45]);

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

centerOutput = affineOutputView(size(A),tform,'BoundsStyle','CenterOutput');
followOutput = affineOutputView(size(A),tform,'BoundsStyle','FollowOutput');
sameAsInput = affineOutputView(size(A),tform,'BoundsStyle','SameAsInput');

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

BCenterOutput = imwarp(A,tform,'OutputView',centerOutput);
BFollowOutput = imwarp(A,tform,'OutputView',followOutput);
BSameAsInput = imwarp(A,tform,'OutputView',sameAsInput);

Отобразите получившиеся изображения.

imshow(BCenterOutput)
title('CenterOutput Bounds Style');

Figure contains an axes. The axes with title CenterOutput Bounds Style contains an object of type image.

imshow(BFollowOutput)
title('FollowOutput Bounds Style');

Figure contains an axes. The axes with title FollowOutput Bounds Style contains an object of type image.

imshow(BSameAsInput)
title('SameAsInput Bounds Style');

Figure contains an axes. The axes with title SameAsInput Bounds Style contains an object of type image.

iptsetpref('ImshowAxesVisible','off')

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

свернуть все

Введите размер изображения в виде числового вектора с 2 элементами для 2D входа изображений или числового вектора с 3 элементами для 3-D объемного входа изображений.

Аффинное геометрическое преобразование в виде affine2d или affine3d объект.

Границы разрабатывают в виде одного из следующих значений.

СтильОписание
'CenterOutput'Сосредоточьте представление в центре изображения на выходном пробеле, позволяя переводу переместить выходное изображение из представления.
'FollowOutput'Установите пределы выходного представления, чтобы полностью содержать выходное изображение.
'SameAsInput'Установите выходные пределы, чтобы совпасть с входными пределами.

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

свернуть все

Пространственная ссылка, возвращенная как imref2d или imref3d объект. Используйте Rout как OutputView аргумент imwarp функция, чтобы задать пространственную ссылку деформированного выхода.

Введенный в R2019b