Изменить размер изображения
возвращает изображение J = imresize(I,[numrows numcols])J число строк и столбцов, заданное вектором [numrows numcols].
[ изменяет размер индексированного изображения Y,newmap] = imresize(X,map,___)X с цветной картой map. По умолчанию imresize возвращает оптимизированную цветовую карту, newmap, с измененным размером индексированного изображения. Чтобы вернуть карту цветов, совпадающую с исходной картой цветов, используйте Colormap аргумент пары имя-значение.
___ = imresize(___, использует аргументы пары имя-значение для управления различными аспектами операции изменения размера.Name,Value)
Чтение изображения в рабочую область.
I = imread('rice.png');Измените размер изображения, задав масштабный коэффициент и используя метод интерполяции по умолчанию и сглаживание.
J = imresize(I, 0.5);
Отображение исходного изображения и изображения с измененным размером.
figure
imshow(I)
title('Original Image')
figure
imshow(J)
title('Resized Image')
Чтение изображения в рабочую область.
I = imread('rice.png');Измените размер изображения, задав масштабный коэффициент и метод интерполяции.
J = imresize(I, 0.5, 'nearest');Отображение исходного изображения и изображения с измененным размером.
figure
imshow(I)
title('Original Image')
figure
imshow(J)
title('Resized Image Using Nearest-Neighbor')
Чтение изображения в рабочую область.
[X, map] = imread('trees.tif');Измените размер изображения, указав масштабный коэффициент. По умолчанию imresize возвращает оптимизированную цветовую карту с измененным размером индексированного изображения.
[Y, newmap] = imresize(X, map, 0.5);
Отображение исходного изображения и изображения с измененным размером.
figure
imshow(X,map)
title('Original Image')
figure
imshow(Y,newmap)
title('Resized Image')
Чтение изображения в рабочую область.
RGB = imread('peppers.png');Измените размер изображения, указав, что выходное изображение имеет 64 строки. Давайте imresize вычислить количество столбцов, необходимое для сохранения соотношения сторон.
RGB2 = imresize(RGB, [64 NaN]);
Отображение исходного изображения и изображения с измененным размером.
figure
imshow(RGB)
title('Original Image')
figure
imshow(RGB2)
title('Resized Image')
I - Изображение для изменения размераИзображение для изменения размера, указанное как числовой, логический или категориальный массив любого измерения. Если I имеет более двух измерений, то imresize изменяет размер только первых двух размеров.
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical | categorical
scale - Коэффициент изменения размераКоэффициент изменения размера, заданный как положительное число.
Если scale меньше 1, то выходное изображение меньше входного.
Если scale больше 1, то выходное изображение больше входного изображения.
imresize применяет масштабный коэффициент к каждому размеру изображения. Чтобы применить различный коэффициент изменения размера к каждому размеру, используйте Scale аргумент пары имя-значение.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
[numrows numcols] - Размеры строк и столбцов выходного изображенияРазмеры строк и столбцов выходного изображения, заданные как 2-элементный вектор положительных целых чисел. Можно указать значение NaN для любого из них numrows или numcols. В этом случае imresize автоматически вычисляет количество строк или столбцов для этого размера, сохраняя пропорции изображения.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
X - Индексированное изображение для изменения размераИндексированное изображение для изменения размера, указанное как числовой массив.
Типы данных: double | uint8 | uint16
map - Цветовая картаКарта цветов, связанная с индексированным изображением X, задается в виде цифровой матрицы c-by-3 со значениями в диапазоне [0, 1]. Каждая строка представляет собой трехэлементный RGB-триплет, определяющий красный, зеленый и синий компоненты одного цвета карты цветов.
Типы данных: double
method - Метод интерполяции или ядроМетод интерполяции или ядро, указанное как строковый скаляр, символьный вектор или двухэлементный массив ячеек.
Когда method является строковым скалярным или символьным вектором, он идентифицирует конкретный метод или именованное ядро интерполяции, перечисленное в следующей таблице.
| Метод | Описание |
|---|---|
| интерполяция ближайшего соседа; выходному пикселю присваивается значение пикселя, в который попадает точка. Другие пикселы не рассматриваются. Интерполяция ближайшего соседа является единственным методом интерполяции, поддерживаемым для категориальных изображений, и является методом по умолчанию для изображений этого типа. |
| Билинейная интерполяция; значение выходного пикселя представляет собой средневзвешенное значение пикселей в ближайшей окрестности 2 на 2. |
| бикубическая интерполяция; значение выходного пикселя представляет собой средневзвешенное значение пикселей в ближайшей окрестности 4 на 4. Бикубическая интерполяция является методом по умолчанию для числовых и логических изображений. Примечание Бикубическая интерполяция может создавать значения пикселей за пределами исходного диапазона. |
| Ядро интерполяции | Описание |
'box' | Коробчатое ядро Коробчатое ядро является единственным интерполяционным ядром, поддерживаемым для категориальных изображений. |
'triangle' | Треугольное ядро (эквивалентно 'bilinear') |
'cubic' | Кубическое ядро (эквивалентно 'bicubic') |
'lanczos2' | Lanczos-2 ядро |
'lanczos3' | Lanczos-3 ядро |
Когда method является 2-элементным массивом ячеек, он определяет пользовательское ядро интерполяции. Массив ячеек имеет вид {f, w}, где f - дескриптор функции для ядра пользовательской интерполяции, а w - ширина пользовательского ядра. f (x) должно быть равно нулю за пределами интервала -w/2 < = x < w/2. Дескриптор функции f может быть вызван со скалярным или векторным входом. Для указанных пользователем ядер интерполяции выходное изображение может иметь некоторые значения, немного выходящие за пределы диапазона значений пикселей во входном изображении.
Типы данных: char | string | cell
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
I2 = imresize(I,0.5,'Antialiasing',false);'Antialiasing' - Сглаживание при сжатии изображенияtrue | falseВыполнение сглаживания при сжатии изображения, указанного как пара, разделенная запятыми, состоящая из 'Antialiasing' и true или false.
Если method является 'nearest', то значение по умолчанию 'Antialiasing' является false.
Если интерполяция method является 'box' интерполяционное ядро и входной образ категоричны, то значение по умолчанию 'Antialiasing' является false.
Для всех других методов интерполяции значением по умолчанию является true.
Типы данных: logical
'Colormap' - Возврат оптимизированной или исходной карты цветов'optimized' (по умолчанию) | 'original'Возвращает оптимизированную или исходную цветовую карту для индексированного изображения, заданную как пара, разделенная запятыми, состоящая из 'Colormap' и одно из следующих.
| Стоимость | Описание |
|---|---|
'original' | Выходная карта цветов newmap совпадает с картой входных цветов map. |
'optimized' | imresize возвращает новую оптимизированную цветовую карту. |
'Colormap' допустим только при изменении размера индексированных изображений.
Типы данных: char | string
'Dither' - Выполнить цветоделениеtrue (по умолчанию) | falseВыполнить изменение цвета, указанное как разделенная запятыми пара, состоящая из 'Dither' и true или false. При дизеринге к изображению применяется форма шума для рандомизации ошибки квантования и предотвращения крупномасштабных шаблонов.
'Dither' допустим только при изменении размера индексированных изображений.
Типы данных: logical
'Method' - Метод интерполяцииМетод интерполяции, указанный как разделенная запятыми пара, состоящая из 'Method' и скалярную строку, символьный вектор или двухэлементный массив ячеек. Для получения более подробной информации см. method.
Типы данных: char | string | cell
'OutputSize' - Размер выходного изображенияРазмер выходного изображения, определяемый как разделенная запятыми пара, состоящая из 'OutputSize' и 2-элементный вектор положительных целых чисел вида [numrows numcols].
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
'Scale' - Изменение масштабного коэффициентаМасштабный коэффициент изменения размера, заданный как разделенная запятыми пара, состоящая из 'Scale' и положительное число или 2-элементный вектор положительных чисел. Если указать скаляр, то imresize применяет одинаковый масштабный коэффициент к каждому размеру изображения. Если задан 2-элементный вектор, то imresize применяет различные значения масштаба к каждому размеру.
Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
J - Изменение размера изображенияИзображение с измененным размером, возвращаемое в виде числового, логического или категориального массива того же класса, что и входное изображение, I.
Y - Изменение размера индексированного изображенияИзменение размера индексированного изображения, возвращаемого в виде числового массива того же класса, что и введенное индексированное изображение. X.
newmap - Оптимизированная карта цветовОптимизированная карта цветов, возвращаемая в виде цифровой матрицы c-by-3 со значениями в диапазоне [0, 1]. Каждая строка представляет собой трехэлементный RGB-триплет, определяющий красный, зеленый и синий компоненты одного цвета карты цветов.
Функция imresize изменено в версии 5.4 (R2007a). В предыдущих версиях Toolbox™ обработки изображений по умолчанию использовался другой алгоритм. При необходимости получения тех же результатов, что и при предыдущей реализации, используйте функцию. imresize_old.
Если размер выходного изображения не является целым числом, то imresize не использует указанный масштаб. imresize использование ceil при расчете размера выходного изображения.
Примечания и ограничения по использованию:
imresize поддерживает генерацию кода C (требуется MATLAB ® Coder™). Дополнительные сведения см. в разделе Создание кода для обработки изображений.
Синтаксы, поддерживающие индексированные изображения, не поддерживаются, включая именованные параметры 'Colormap' и 'Dither'.
Пользовательские ядра интерполяции не поддерживаются.
Все аргументы пары имя-значение должны быть константами времени компиляции.
Примечания и ограничения по использованию:
'Colormap' и 'Dither' аргументы пары имя-значение не поддерживаются.
Индексированные изображения не поддерживаются.
Пользовательские ядра интерполяции не поддерживаются.
Все пары имя-значение должны быть константами времени компиляции.
Для некоторых ядер интерполяции может быть небольшое числовое несоответствие между результатами в MATLAB и сгенерированным кодом.
Примечания и ограничения по использованию:
gpuArray ввод с более чем 227 элементами не поддерживается.
gpuArray входные данные не должны быть разреженными.
gpuArray входные данные с базовым типом categorical не поддерживается.
Индексированные образы не поддерживаются графическим процессором.
При использовании бикубической интерполяции выходное изображение может иметь некоторые значения, немного выходящие за пределы диапазона значений пикселей во входном изображении.
Существует небольшая численная разница между результатами imresize на CPU и GPU. Эти различия происходят на правой и нижней границах изображения и едва заметны невооружённым глазом.
Дополнительные сведения см. в разделе Обработка изображений на графическом процессоре.
imresize3 | imrotate | imtransform | interp2 | tformarray
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.