imresize

Измените размер изображения

Описание

пример

B = imresize(A,scale) возвращается отображают B это - scale времена размер A. Входное изображение A может быть шкала полутонов, RGB или бинарное изображение. Если A имеет больше чем две размерности, imresize только изменяет размер первых двух размерностей. Если scale находится в области значений [0, 1], B меньше, чем A. Если scale больше 1, B больше, чем A. По умолчанию, imresize бикубическая интерполяция использования.

пример

B = imresize(A,[numrows numcols]) возвращается отображают B это имеет количество строк и столбцов, заданных двухэлементным векторным [numrows numcols].

пример

[Y,newmap] = imresize(X,map,___) изменяет размер индексируемого изображения X где map палитра, сопоставленная с изображением. По умолчанию, imresize возвращает новую, оптимизированную палитру (newmap) с измененным изображением. Чтобы возвратить палитру, которая совпадает с исходной палитрой, используйте 'Colormap' параметр.

пример

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

___ = imresize(___,Name,Value) возвращает измененное изображение где Name,Value пары управляют различными аспектами операции изменения размеров.

Примеры

свернуть все

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

I = imread('ngc6543a.jpg');

Уменьшите изображение на коэффициент два.

J = imresize(I, 0.5);

Отобразите оригинальное изображение и измененное изображение.

figure, imshow(I), figure, imshow(J)

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

I = imread('ngc6543a.jpg');

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

J = imresize(I, 0.5, 'nearest');

Отобразите оригинальное изображение и измененное изображение.

figure 
imshow(I)

figure
imshow(J)

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

RGB = imread('peppers.png');

Измените размер изображения RGB, чтобы иметь 64 строки. imresize вычисляет количество столбцов автоматически.

RGB2 = imresize(RGB, [64 NaN]);

Отобразите оригинальное изображение и измененное изображение.

figure
imshow(RGB)

figure
imshow(RGB2)

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

[X, map] = imread('corn.tif');

Уменьшите индексируемое изображение на коэффициент два.

[Y, newmap] = imresize(X, map, 0.5);

Отобразите оригинальное изображение и измененное изображение.

figure
imshow(X,map)

figure
imshow(Y, newmap)

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

свернуть все

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

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

Измените размер фактора в виде действительного, числового скаляра.

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

Размерности строки и столбца выходного изображения в виде двухэлементного числового вектора из положительных значений. Любой numrows или numcols может быть NaN, в этом случае imresize вычисляет количество строк или столбцов автоматически, чтобы сохранить пропорцию изображения.

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

Индексируемое изображение, которое будет изменено в виде действительного, неразреженного числового массива.

Пример: [X2, newmap] = imresize(X,map,0.75);

Типы данных: double | uint8 | uint16

Палитра сопоставлена с индексируемым изображением, m-by-3 числовой массив.

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

Метод интерполяции в виде вектора символов или двухэлементного массива ячеек.

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

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

'nearest'

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

'bilinear'

Билинейная интерполяция; значение выходного пикселя является взвешенным средним пикселей в самом близком окружении 2 на 2

'bicubic'

Бикубическая интерполяция; значение выходного пикселя является взвешенным средним пикселей в самом близком окружении 4 на 4

Примечание

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

Ядро интерполяцииОписание
'box'Ядро, имеющее форму поля
'triangle'Треугольное ядро (эквивалентный 'bilinear')
'cubic'Кубическое ядро (эквивалентный 'bicubic')
'lanczos2'Ядро Lanczos-2
'lanczos3'Ядро Lanczos-3

Когда method двухэлементный массив ячеек, он задает пользовательское ядро интерполяции. Массив ячеек имеет форму {f, w}, где f является указателем на функцию для пользовательского ядра интерполяции, и w является шириной пользовательского ядра. f (x) должен быть нулем вне интервала-w/2 <= x <w/2. Указатель на функцию f может быть вызван скаляром или векторным входом. Для заданных пользователями ядер интерполяции выходное изображение может иметь некоторые значения немного вне области значений пиксельных значений во входном изображении.

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

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

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

Пример: I2 = imresize(I,0.5,'Antialiasing',false);

Выполните сглаживание при уменьшении изображения в виде разделенной запятой пары, состоящей из 'Antialiasing' и логическое булево значение true или false. Значение по умолчанию зависит от метода интерполяции. Если метод ближайшего соседа ('nearest'), значением по умолчанию является false. Для всех других методов интерполяции значением по умолчанию является true.

Типы данных: логический

Возвратите оптимизированную палитру в виде разделенной запятой пары, состоящей из 'Colormap' и вектор символов 'optimized' или 'original'. (Только индексируемые изображения). Если установлено в 'original', выходная палитра (newmap) совпадает с входной палитрой (map). Если установлено в 'optimized'imresize возвращает новую оптимизированную палитру.

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

Выполните цвет, размывающийся в виде разделенной запятой пары, состоящей из 'Dither' и логическое булево значение true или false. (Только индексируемые изображения).

В размывании вы применяете форму шума к изображению, чтобы рандомизировать ошибку квантования и предотвратить крупномасштабные шаблоны.

Типы данных: логический

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

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

Размер выходного изображения в виде разделенной запятой пары, состоящей из 'OutputSize' и двухэлементный вектор из формы [numrows numcols].

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

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

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

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

свернуть все

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

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

Оптимизированная палитра, возвращенная как m-by-3 числовой массив.

Советы

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

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

Смотрите также

| (Image Processing Toolbox) | (Image Processing Toolbox) | (Image Processing Toolbox) | (Image Processing Toolbox) | (Parallel Computing Toolbox)

Представлено до R2006a