Измените размер изображения
возвращается отображают 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
введите должен иметь тип single
или double
.
imresize
не поддерживает индексированные изображения на графическом процессоре.
imresize
не поддерживает аргументы пары "имя-значение" на графическом процессоре.
На графическом процессоре, imresize
поддержки только бикубическая интерполяция и всегда выполняют сглаживание.
Существует небольшое числовое различие между результатами imresize
на центральном процессоре и графическом процессоре. Эти различия происходят справа и нижние границы изображения и едва примечательны невооруженным глазом.
Для получения дополнительной информации смотрите Обработку изображений на графическом процессоре.
imresize3
| imrotate
| imtransform
| interp2
| tformarray
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.