imtranslate

Переведите изображение

Синтаксис

B = imtranslate(A,translation)
[B,RB] = imtranslate(A,RA,translation)
___ = imtranslate(___,method)
___ = imtranslate(___,Name,Value)

Описание

пример

B = imtranslate(A,translation) переводит отображают A вектором сдвига, заданным в translation. Если A имеет больше чем две размерности, и translation является двухэлементным вектором, imtranslate применяет 2D перевод в A, одна плоскость за один раз.

[B,RB] = imtranslate(A,RA,translation) переводит изображение, на которое пространственно ссылаются, A с его связанным пространственным ссылочным объектом RA. Вектор сдвига, translation, находится в системе мировой координаты. Функция возвращает переведенное изображение, на которое пространственно ссылаются, B, с его связанным пространственным ссылочным объектом, RB.

___ = imtranslate(___,method) переводит отображают A, с помощью метода интерполяции, заданного method.

пример

___ = imtranslate(___,Name,Value) переводит входное изображение с помощью пар "имя-значение", чтобы управлять различными аспектами перевода.

Примеры

свернуть все

Считайте изображение в рабочую область.

I = imread('pout.tif');

Переведите изображение.

J = imtranslate(I,[25.3, -10.1],'FillValues',255);

Отобразите оригинальное изображение и переведенное изображение.

figure
imshow(I);
title('Original Image');
set(gca,'Visible','on');

figure
imshow(J);
title('Translated Image');
set(gca,'Visible','on');

Считайте изображение в рабочую область.

I = imread('pout.tif');

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

J = imtranslate(I,[25.3, -10.1],'FillValues',255,'OutputView','full');

Отобразите оригинальное изображение и переведенное изображение.

figure
imshow(I);
title('Original Image');
set(gca,'Visible','on');

figure
imshow(J);
title('Full Translated Image');
set(gca,'Visible','on');

Загрузите данные MRI в рабочую область и отобразите его.

s = load('mri');
mriVolume = squeeze(s.D);
sizeIn = size(mriVolume);
hFigOriginal = figure;
hAxOriginal  = axes;
slice(double(mriVolume),sizeIn(2)/2,sizeIn(1)/2,sizeIn(3)/2);
grid on, shading interp, colormap gray

Примените перевод в этих X, направлении Y.

mriVolumeTranslated = imtranslate(mriVolume,[40,30,0],'OutputView','full');

Визуализируйте перевод путем просмотра осевой плоскости разбиения, севшей через центр объема. Отметьте сдвиг в направлениях X и Y.

sliceIndex = round(sizeIn(3)/2);
axialSliceOriginal   = mriVolume(:,:,sliceIndex);
axialSliceTranslated = mriVolumeTranslated(:,:,sliceIndex);

imshow(axialSliceOriginal);

imshow(axialSliceTranslated);

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

свернуть все

Отобразите, чтобы быть переведенными, заданными как неразреженный, числовой массив любого класса, кроме uint64 и int64 или логического массива.

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

Пространственная информация о ссылке, сопоставленная с входом, отображает A, заданный как imref2d или imref3d пространственный ссылочный объект.

Вектор сдвига, заданный как двухэлементный или трехэлементный, неразреженный, числовой вектор с действительным знаком, такой как [Tx Ty], для 2D входных параметров и [Tx Ty Tz], для 3-D входных параметров. Значения могут быть дробными.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Метод интерполяции, заданный одним из следующих значений:

ЗначениеОписание
'cubic'Кубичная интерполяция.

Примечание

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

'linear'Линейная интерполяция
'nearest'

Самая близкая соседняя интерполяция; выходной пиксель присвоен значение пикселя, которого находится в пределах точка. Никакие другие пиксели не рассматриваются.

Типы данных: char | string

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

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

Пример: mriVolumeTranslated = imtranslate(mriVolume,[40,30,0],'OutputView','full');

Выведите мировые пределы, заданные как пара, разделенная запятой, состоящая из 'OutputView' и одно из следующих значений:

ЗначениеОписание
'same'Мировые пределы вывода совпадают с входным изображением.
'full'Мировые пределы вывода являются ограничительным прямоугольником, который включает и входное изображение и переведенное выходное изображение.

Типы данных: char | string

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

  • Если A 2D, FillValues должен быть скаляром.

  • Если A 3-D, и translation является трехэлементным вектором, FillValues должен быть скаляром.

  • Если A является N-D, и translation является двухэлементным вектором, FillValues может быть или скаляром или массивом, размер которого совпадает с размерностями 3 к N A. Например, если A является изображением RGB uint8, которое является 200 200 3, FillValues может быть скаляром или массивом 3 на 1.

  • Если A является 4-D, FillValues может быть скаляром или массивом. Например, если A 200 200 3 10, то FillValues может быть скаляром или 3 10 массив.

    Некоторый пример заполняет значения:

    'FillValue' Описание
    0 Заполните с черным цветом
    [0;0;0] Заполните с черным цветом
    255Заполните с белым
    [255;255;255]Заполните с белым
    [0;0;255]Заполните с синим
    [255;255;0]Заполните с желтым

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

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

свернуть все

Переведенное изображение, возвращенное как неразреженный, числовой массив с действительным знаком или логический массив. Класс B совпадает с классом A.

Пространственная информация о ссылке сопоставлена с выходным изображением, возвращенным как imref2d или imref3d пространственный ссылочный объект.

Советы

  • imtranslate оптимизирован для целиком ценных векторов translation.

  • Когда 'OutputView' является 'full', и translation является дробным количеством пикселей, imtranslate расширяет мировые пределы вывода пространственный ссылочный объект к самому близкому шагу полного пикселя. imtranslate делает это так, чтобы он содержал обоих исходные и переведенные изображения в том же разрешении как входное изображение. Дополнительная степень изображений в каждом добавляется на одной стороне изображения в направлении, которое указывает вектор сдвига. Например, когда translation дробен и положителен и в X и в Y, затем imtranslate расширяет максимум XWorldLimits и YWorldLimits, чтобы заключить ограничительный прямоугольник 'full' в разрешении входного изображения.

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

Введенный в R2014a

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