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.

Создайте 2-D аффинное преобразование. Этот пример создает рандомизированное преобразование, которое состоит из шкалы в множитель в области значений [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-элементный числовой вектор для 2-D входов изображения или 3-элементный числовой вектор для 3-D входного объемного изображения.

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

Стиль границ, заданный как одно из следующих значений.

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

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

свернуть все

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

Введенный в R2019b