Измените размер изображения
возвращается отображают 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]
.
___ = imresize(___,
возвращает измененное изображение, где аргументы name-value управляют различными аспектами операции изменения размеров. Задайте аргументы name-value после всех других входных параметров.Name,Value
)
Загрузите изображение в рабочую область.
I = imread('ngc6543a.jpg');
Уменьшите изображение на коэффициент два.
J = imresize(I, 0.5);
Отобразите оригинальное изображение и измененное изображение.
figure, imshow(I), figure, imshow(J)
Загрузите изображение в рабочую область.
I = imread('ngc6543a.jpg');
Уменьшите изображение к 40% первоначального размера с помощью интерполяции ближайшего соседа. Это - самый быстрый метод, но он имеет самое низкое качество.
J = imresize(I,0.4,'nearest');
Отобразите оригинальное изображение и измененное изображение.
imshow(I)
title('Original Image')
imshow(J)
title('Resized Image Using Nearest Neighbor Interpolation')
Считайте изображение RGB в рабочую область.
RGB = imread('peppers.png');
Измените размер изображения RGB, чтобы иметь 64 строки. imresize
вычисляет количество столбцов автоматически.
RGB2 = imresize(RGB,[64 NaN]);
Получите размер измененного изображения.
sz = size(RGB2)
sz = 1×3
64 86 3
Отобразите оригинальное изображение и измененное изображение.
imshow(RGB)
title("Original Image")
imshow(RGB2)
title("Resized Image with 64 Rows")
Считайте индексируемое изображение в рабочую область.
[X,map] = imread("corn.tif");
Увеличьте размер индексируемого изображения на 50%.
[Y,newmap] = imresize(X,map,1.5);
Отобразите оригинальное изображение и измененное изображение.
imshow(X,map)
title("Original Indexed Image and Colormap")
imshow(Y,newmap)
title("Resized Image and Optimized Colormap")
A
— Отобразите, чтобы быть измененнымиОтобразите, чтобы быть измененными в виде числового массива, логического массива или категориального массива любой размерности. Введите должно быть неразреженным, и числовой вход должен быть действительным.
Типы данных: single
| double
| int8
| int16
| int32
| uint8
| uint16
| uint32
| logical
| categorical
scale
— Измените размер фактораИзмените размер фактора в виде положительного числа. imresize
применяет тот же масштабный коэффициент к размерностям строки и столбца. Чтобы применить различное изменяют размер фактора к каждой размерности, используют Scale
аргумент значения имени.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
[numrows numcols]
— Размерности строки и столбца выходного изображенияРазмерности строки и столбца выходного изображения в виде двухэлементного вектора из положительных чисел. Можно задать значение 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
метод интерполяции"bicubic"
(значение по умолчанию) | вектор символов | строковый скаляр | двухэлементный массив ячеекМетод интерполяции в виде вектора символов, строкового скаляра или двухэлементного массива ячеек.
Когда method
вектор символов или строковый скаляр, это идентифицирует конкретный метод или названное ядро интерполяции, перечисленное в следующей таблице.
Метод | Описание |
---|---|
|
Интерполяция по ближайшему соседу; выходной пиксель присвоен значение пикселя, которого находится в пределах точка. Никакие другие пиксели не рассматриваются. |
|
Билинейная интерполяция; значение выходного пикселя является взвешенным средним пикселей в самом близком окружении 2 на 2 |
|
Бикубическая интерполяция; значение выходного пикселя является взвешенным средним пикселей в самом близком окружении 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 |
string
| cell
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'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
метод интерполяции"bicubic"
(значение по умолчанию) | вектор символов | массив ячеекМетод интерполяции в виде разделенной запятой пары, состоящей из 'Method'
и вектор символов или двухэлементный массив ячеек. Для получения дополнительной информации смотрите method
.
Типы данных: char |
string
| cell
OutputSize
— Размер выходного изображенияРазмер выходного изображения в виде разделенной запятой пары, состоящей из 'OutputSize'
и двухэлементный вектор из положительных чисел. Для получения дополнительной информации смотрите [numrows numcols]
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Scale
— Измените размер масштабного коэффициентаИзмените размер масштабного коэффициента в виде разделенной запятой пары, состоящей из 'Scale'
и положительное число или двухэлементный вектор из положительных чисел. Если вы задаете скаляр, то imresize
применяет тот же масштабный коэффициент к размерностям строки и столбца. Если вы задаете двухэлементный вектор, то imresize
применяет различное значение шкалы к каждой размерности.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
B
— Измененное изображениеИзмененное изображение, возвращенное как числовой, логический, или категориальный массив совпадающего типа данных как входное изображение, A
.
Y
— Измененное индексированное изображениеИзмененное индексированное изображение, возвращенное как числовой массив совпадающего типа данных как вход индексированное изображение, X
.
newmap
— Палитра измененного индексируемого изображенияПалитра измененного индексируемого изображения Y
, возвращенный как m-by-3 числовая матрица. По умолчанию, imresize
возвращает новую, оптимизированную палитру с измененным изображением. Чтобы возвратить палитру, которая совпадает с исходной палитрой, используйте 'Colormap'
аргумент значения имени.
Если размер выходного изображения не является целым числом, то imresize
не использует заданную шкалу. imresize
использование ceil
при вычислении размера выходного изображения.
Указания и ограничения по применению:
Синтаксисы, которые поддерживают индексируемые изображения, не поддерживаются, включая именованные параметры 'Colormap'
и 'Dither'
.
Пользовательские ядра интерполяции не поддерживаются.
Все пары значения параметров должны быть константами времени компиляции.
Указания и ограничения по применению:
'Colormap'
и 'Dither'
аргументы пары "имя-значение" не поддерживаются.
Индексируемые изображения не поддерживаются.
Пользовательские ядра интерполяции не поддерживаются.
Все пары "имя-значение" должны быть константами времени компиляции.
Для определенных ядер интерполяции может быть маленькое числовое несоответствие между результатами в MATLAB® и сгенерированный код.
backgroundPool
или ускорьте код с Parallel Computing Toolbox™ ThreadPool
.Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
Указания и ограничения по применению:
gpuArray
введите с больше чем 227 элементы не поддерживаются.
gpuArray
введите должно быть неразреженным.
gpuArray
введите с базовым типом categorical
не поддерживается.
Индексируемые изображения не поддерживаются на графическом процессоре.
Если вы используете бикубическую интерполяцию, выходное изображение может иметь некоторые значения немного вне области значений пиксельных значений во входном изображении.
Существует небольшое числовое различие между результатами imresize
на центральном процессоре и графическом процессоре. Эти различия происходят справа и нижние границы изображения и едва примечательны невооруженным глазом.
Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.