exponenta event banner

imresize3

Изменение размера изображения 3-D объемной интенсивности

Описание

пример

B = imresize3(V,scale) возвращает том B то есть scale умножить размер 3-D числового или категориального тома V.

B = imresize3(V,[numrows numcols numplanes]) возвращает том B число строк, столбцов и плоскостей, заданное 3-элементным вектором [numrows numcols numplanes].

B = imresize3(___,method) возвращает том B, где method задает используемый метод интерполяции.

B = imresize3(___,Name,Value) возвращает размер тома, где Name,Value парами управляют аспектами операции.

Примеры

свернуть все

Чтение тома МРТ в рабочее пространство.

s = load('mri');
mriVolumeOriginal = squeeze(s.D);
sizeO = size(mriVolumeOriginal);

Визуализация тома.

figure;
slice(double(mriVolumeOriginal),sizeO(2)/2,sizeO(1)/2,sizeO(3)/2);
shading interp, colormap gray;
title('Original');

Figure contains an axes. The axes with title Original contains 3 objects of type surface.

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

mriVolumeResized = imresize3(mriVolumeOriginal, 0.5);
sizeR = size(mriVolumeResized);

Визуализация измененного объема.

figure;
slice(double(mriVolumeResized),sizeR(2)/2,sizeR(1)/2,sizeR(3)/2);
shading interp, colormap gray;
title('Resized');

Figure contains an axes. The axes with title Resized contains 3 objects of type surface.

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

свернуть все

Объем, размер которого требуется изменить, указывается как 3-D числовой массив или 3-D категориальный массив.

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

Масштабный коэффициент, заданный как числовой скаляр.

  • Если scale меньше 1, то выходное изображение меньше входного объема.

  • Если scale больше 1, то выходное изображение больше входного объема.

imresize3 применяет масштабный коэффициент к каждому размеру в объеме. Чтобы применить различный коэффициент изменения размера к каждому размеру, используйте Scale аргумент пары имя-значение.

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

Размер выходного объема, заданного как 3-элементный вектор положительных целых чисел в виде [rows columns planes]. Если указать одно числовое значение и два других значения как NaNs, затем imresize3 автоматически вычисляет два других элемента для сохранения соотношения сторон.

Типы данных: single | double

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

МетодОписание

'nearest'

Интерполяция ближайшего соседа.

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

'linear'

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

'cubic'

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

Примечание

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

Ядро интерполяцииОписание
'box'

Коробчатое ядро.

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

'triangle'Треугольное ядро (эквивалентно 'linear')
'lanczos2'Lanczos-2 ядро
'lanczos3'Lanczos-3 ядро

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

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

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

Пример: mriVolumeResized = imresize3(mristack,0.5,'Antialiasing',false);

Сглаживание выполняется при сжатии объема, указанного как разделенная запятыми пара, состоящая из 'Antialiasing' и true или false.

  • Если method является 'nearest', то значение по умолчанию 'Antialiasing' является false.

  • Если интерполяция method является 'box' ядро интерполяции и входной том категоричны, то значение по умолчанию 'Antialiasing' является false.

  • Для всех других методов интерполяции значение по умолчанию: 'Antialiasing' является true.

Типы данных: logical

Метод интерполяции, указанный как разделенная запятыми пара, состоящая из 'Method' и строковый скалярный или символьный вектор. Для получения более подробной информации см. method.

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

Размер выходного тома, указанного как разделенная запятыми пара, состоящая из 'OutputSize' и 3-элементный вектор положительных целых чисел вида [rows cols planes].

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

Масштабный коэффициент изменения размера, заданный как разделенная запятыми пара, состоящая из 'Scale' и положительное число или 3-элементный вектор положительных чисел. Если указать скаляр, то imresize3 применяет одинаковый масштабный коэффициент к каждому размеру в объеме. Если задан 3-элементный вектор, то imresize3 применяет различные значения масштаба к каждому размеру.

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

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

свернуть все

Размер тома, возвращаемого как массив того же класса, что и входной том, V.

См. также

| | |

Представлен в R2017a