Измените размер изображения
возвращается отображают 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
— Метод интерполяции или ядроМетод интерполяции или ядро в виде строкового скаляра, вектора символов или массива ячеек с 2 элементами.
Когда 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
.
Типы данных: логический
'Colormap'
— Возвратите карту оптимизированного или исходного цвета'optimized'
(значение по умолчанию) | 'original'
Возвратите карту оптимизированного или исходного цвета для индексируемого изображения в виде разделенной запятой пары, состоящей из 'Colormap'
и одно из следующих.
Значение | Описание |
---|---|
'original' | Карта цвета вывода newmap совпадает с входной картой цветов map . |
'optimized' | imresize возвращает новую карту оптимизированного цвета. |
'Colormap'
аргумент допустим только, когда изменение размеров индексировало изображения.
Типы данных: char |
string
'Dither'
— Выполните цветное размываниеtrue
(значение по умолчанию) | false
Выполните цвет, размывающийся в виде разделенной запятой пары, состоящей из 'Dither'
и true
или false
. В размывании вы применяете форму шума к изображению, чтобы рандомизировать ошибку квантования и предотвратить крупномасштабные шаблоны.
'Dither'
аргумент допустим только, когда изменение размеров индексировало изображения.
Типы данных: логический
'Method'
метод интерполяцииМетод интерполяции в виде разделенной запятой пары, состоящей из 'Method'
и скалярная строка, вектор символов или массив ячеек с 2 элементами. Для получения дополнительной информации смотрите 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). Предыдущие версии Image Processing Toolbox™ использовали различный алгоритм по умолчанию. Если вам нужны те же результаты, приведенные предыдущей реализацией, используйте функциональный imresize_old
.
Если размер выходного изображения не является целым числом, то imresize
не использует заданную шкалу. imresize
использование ceil
при вычислении размера выходного изображения.
Указания и ограничения по применению:
imresize
поддерживает генерацию кода С (требует MATLAB® Coder™). Для получения дополнительной информации смотрите Генерацию кода для Обработки изображений.
Синтаксисы, которые поддерживают индексируемые изображения, не поддерживаются, включая именованные параметры 'Colormap'
и 'Dither'
.
Пользовательские ядра интерполяции не поддерживаются.
Всеми аргументами пары "имя-значение" должны быть константы времени компиляции.
Указания и ограничения по применению:
'Colormap'
и 'Dither'
аргументы пары "имя-значение" не поддерживаются.
Индексируемые изображения не поддерживаются.
Пользовательские ядра интерполяции не поддерживаются.
Все пары "имя-значение" должны быть константами времени компиляции.
Для определенных ядер интерполяции может быть маленькое числовое несоответствие между результатами в MATLAB и сгенерированном коде.
Указания и ограничения по применению:
gpuArray
вход больше чем с 227 элементами не поддерживается.
gpuArray
введите должно быть неразреженным.
gpuArray
введите с базовым типом categorical
не поддерживается.
Индексируемые изображения не поддерживаются на графическом процессоре.
Если вы используете бикубическую интерполяцию, выходное изображение может иметь некоторые значения немного вне области значений пиксельных значений во входном изображении.
Существует небольшое числовое различие между результатами imresize
на центральном процессоре и графическом процессоре. Эти различия происходят справа и нижние границы изображения и едва примечательны невооруженным глазом.
Для получения дополнительной информации смотрите Обработку изображений на графическом процессоре.
imresize3
| imrotate
| imtransform
| interp2
| tformarray
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.