imtranslate

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

Описание

пример

B = imtranslate(A,translation) переводит отображают A 2D или 3-D вектором сдвига, заданным в translation.

Если A имеет больше чем две размерности и translation вектор с 2 элементами, затем 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);

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

свернуть все

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

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

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

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

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

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

Значение

Описание

'nearest'

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

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

'bilinear'

Линейная интерполяция.

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

'bicubic'

Кубичная интерполяция.

Примечание

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

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

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

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

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

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

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

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

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

Значением заливки по умолчанию числовых и логических изображений является 0. Значением заливки по умолчанию категориальных изображений является missing, который соответствует <undefined> категория.

Тип изображения

Размерность перевода

Формат значений заливки

2D полутоновое или логическое изображение2D
  • Числовой скаляр

2D цветное изображение или 2D многоспектральное изображение2D
  • Числовой скаляр

  • c- числовой вектор, задающий значение заливки для каждого из каналов c. Количество каналов, c, 3 для цветных изображений.

Серия p 2D изображения2D

  • Числовой скаляр

  • c-by-p числовая матрица. Количество каналов, c, 1 для полутоновых изображений и 3 для цветных изображений.

N-D изображение2D
  • Числовой скаляр

  • Числовой массив, размерности соответствий размера которого 3 к N входа отображают A. Например, если A 200 200 10 3, затем FillValues может быть 10 3 массив.

3-D полутоновое или логическое изображение3-D
  • Числовой скаляр

Категориальное изображение2D или 3-D
  • Допустимая категория в изображении в виде строкового скаляра или вектора символов.

  • missing, который соответствует <undefined> категория. Для получения дополнительной информации смотрите missing.

Пример: 255 заполняет uint8 отобразите с белыми пикселями

Пример 1 заполняет double отобразите с белыми пикселями

Пример: [0 1 0] заполняет double цветное изображение с зелеными пикселями

Пример: [0 1 0; 0 1 1]', для серии двух double цветные изображения, заполняет первое изображение зелеными пикселями и второе изображение с голубыми пикселями

Пример: "vehicle" заполняет категориальное изображение категорией "транспортного средства"

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

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

свернуть все

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

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

Советы

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

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

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

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