exponenta event banner

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)

Figure contains an axes. The axes contains an object of type image.

Figure contains an axes. The axes contains an object of type image.

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

I = imread('ngc6543a.jpg');

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

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

Отображение исходного изображения и изображения с измененным размером.

figure 
imshow(I)

Figure contains an axes. The axes contains an object of type image.

figure
imshow(J)

Figure contains an axes. The axes contains an object of type image.

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

RGB = imread('peppers.png');

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

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

Отображение исходного изображения и изображения с измененным размером.

figure
imshow(RGB)

Figure contains an axes. The axes contains an object of type image.

figure
imshow(RGB2)

Figure contains an axes. The axes contains an object of type image.

Чтение индексированного изображения в рабочую область.

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

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

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

Отображение исходного изображения и изображения с измененным размером.

figure
imshow(X,map)

Figure contains an axes. The axes contains an object of type image.

figure
imshow(Y, newmap)

Figure contains an axes. The axes contains an object of type image.

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

свернуть все

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

Типы данных: 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 на 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.

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

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

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

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

При дизеринге к изображению применяется форма шума для рандомизации ошибки квантования и предотвращения крупномасштабных шаблонов.

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

Метод интерполяции, указанный как разделенная запятыми пара, состоящая из '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-на-3.

Совет

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

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

.

См. также

| (Панель инструментов обработки изображений) | (Панель инструментов обработки изображений) | (Панель инструментов обработки изображений) | (Панель инструментов обработки изображений) | (Панель инструментов параллельных вычислений)

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