Увеличение или усадка размеров изображений
Геометрические преобразования
visiongeotforms
Блок Resize увеличивает или сжимает изображение путем изменения размера изображения по одной размерности (строка или столбец). Затем он изменяет размер изображения по другой размерности (столбец или строка).
Этот блок поддерживает интенсивность и цветные изображения на своих портах. Когда вы вводите сигнал типа данных с плавающей точкой, блок выводит тот совпадающий тип данных.
Сужение изображения может ввести в изображение высокой частоты компоненты, и может произойти сглаживание. Если установлен флажок Perform antialiasing when resize factor is between 0 and 100, блок выполняет фильтрацию нижних частот на вход изображении перед его усадкой.
Порт | Ввод/вывод | Поддерживаемые типы данных | Комплексные числа |
---|---|---|---|
Изображение/Вход | M N матрицей значений интенсивности или M N P окрашивают видео сигнал, где P - количество цветных самолетов |
| Нет |
ИНФОРМАЦИЯ ТОЛЬКО ДЛЯ ЧТЕНИЯ | Четырехэлементный вектор [x y width height], который задает информация только для чтения |
| Нет |
Выход | Изменение размера изображения | То же, что Input port | Нет |
Флаг | Логическое значение, которое указывает, находится ли информация только для чтения в границах изображения | Булев | Нет |
Чтобы изменить размер конкретной области каждого изображения, установите флажок Enable ROI processing. Чтобы включить эту опцию, выберите следующие значения параметров.
Specify = Number of output rows and columns
Interpolation method = Nearest neighbor
, Bilinear
, или Bicubic
Снимите флажок Perform antialiasing when resize factor is between 0 and 100.
Если установить флажок Enable ROI processing, на блоке появится порт ROI. Используйте этот порт, чтобы задать видимую область (ROI) в матрице входа, размер которой вы хотите изменить. Входной вход этого порта должен быть четырехэлементным вектором, [x y width height]. Первые два элемента определяют верхний левый угол информация только для чтения, а вторые два элемента определяют ширину и высоту информация только для чтения.
Если установить флажок Enable ROI processing, в диалоговом окне появится флажок Output flag indicating if any part of ROI is outside image bounds. Если установить этот флажок, на блоке появится порт Флаг. В следующих таблицах описываются выходы порта флага.
Выход порта флага | Описание |
---|---|
0 | Информация только для чтения полностью находится внутри входа изображения. |
1 | Информация только для чтения полностью или частично находится вне входа изображения. |
Следующая схема показывает типы данных, используемые в блоке Resize для сигналов с фиксированной точкой.
Можно задать таблицу весов интерполяции, выход продукта, аккумулятор и типы выходных данных в маске блока.
Укажите, какие аспекты изображения необходимо изменить. Ваш выбор Output size as a percentage of input size
, Number of output columns and preserve aspect ratio
, Number of output rows and preserve aspect ratio
, или Number of output rows and columns
.
Когда вы выбираете Output size as a percentage of input size
параметр Resize factor in percentage появляется в диалоговом окне. Введите скалярное процентное значение, которое применяется как к строкам, так и к столбцам.
Когда вы выбираете Number of output columns and preserve aspect ratio
параметр Number of output columns появляется в диалоговом окне. Введите скалярное значение, которое представляет количество столбцов, которое должно иметь выходное изображение. Блок вычисляет количество выхода строк так, чтобы выходное изображение имело то же соотношение сторон, что и вход изображение.
Когда вы выбираете Number of output rows and preserve aspect ratio
параметр Number of output rows появляется в диалоговом окне. Введите скалярное значение, которое представляет количество строк, которые нужно иметь выходному изображению. Блок вычисляет количество выхода столбцов так, чтобы выходное изображение имело такое же соотношение сторон, как и вход изображение.
Когда вы выбираете Number of output rows and columns
параметр Number of output rows and columns появляется в диалоговом окне. Введите двухэлементный вектор, где первый элемент является количеством строк в выходном изображении, а второй элемент - количеством столбцов. В этом случае соотношение сторон изображения может измениться.
Введите скалярное процентное значение, которое применяется как к строкам, так и к столбцам или двухэлементному вектору, где первый элемент является процентом, на который можно изменить размер строк, а второй элемент - процентом, на который можно изменить размер столбцов. Этот параметр видим, если для параметра Specify вы выбираете Output size as a percentage of input size
.
Необходимо ввести скалярное значение, больше нуля. В таблице ниже описывается влияние значения коэффициента изменения размера:
Коэффициент изменения размера в процентах | Изменение размера изображения |
---|---|
0 < коэффициент изменения размера < 100 | Блок сжимает изображение. |
коэффициент изменения размера = 100 | Изображение без изменений. |
коэффициент изменения размера > 100 | Блок увеличивает изображение. |
Размерности выходной матрицы зависят от параметра Resize factor in percentage и задаются следующими уравнениями:
number_output_rows = round (number_input_rows*resize_factor/100); | (1) |
number_output_cols = round (number_input_cols*resize_factor/100); | (2) |
Введите скалярное значение, которое представляет количество столбцов, которое должно иметь выходное изображение. Этот параметр видим, если для параметра Specify вы выбираете Number of output columns and preserve aspect ratio
.
Введите скалярное значение, которое представляет количество строк, которые нужно иметь выходному изображению. Этот параметр видим, если для параметра Specify вы выбираете Number of output rows and preserve aspect ratio
.
Введите двухэлементный вектор, где первый элемент является количеством строк в выходном изображении, а второй элемент - количеством столбцов. Этот параметр видим, если для параметра Specify вы выбираете Number of output rows and columns
.
Укажите, какой метод интерполяции нужно изменить размер изображения.
Когда вы выбираете Nearest neighbor
блок использует один ближайший пиксель, чтобы интерполировать значение пикселя. Эта опция, хотя и самый эффективный, является наименее точным. Когда вы выбираете Bilinear
блок использует четыре ближайших пикселя, чтобы интерполировать значение пикселя. Когда вы выбираете Bicubic
или Lanczos2
блок использует 16 ближайших пикселей, чтобы интерполировать значение пикселя. Когда вы выбираете Lanczos3
блок использует 36 окружающих пикселей, чтобы интерполировать значение пикселя.
Блок Resize выполняет оптимально, когда вы устанавливаете этот параметр равным Nearest neighbor
с одним из следующих условий:
Вы устанавливаете параметр Resize factor in percentage, кратный 100.
Деление 100 на Resize factor in percentage значение параметров приводит к целочисленному значению.
Если установить этот флажок, блок выполняет lowpass фильтрацию на вход изображении перед сужением, чтобы предотвратить сглаживание.
Установите этот флажок, чтобы изменить размер определенной области каждого изображения. Этот параметр доступен, когда параметр Specify установлен в Number of output rows and columns
, параметр Interpolation method установлен в Nearest neighbor
, Bilinear
, или Bicubic
, и флажок Perform antialiasing when resize factor is between 0 and 100 не установлен.
Если установить этот флажок, на блоке появится порт Флаг. Блок выходы 1 в этом порте, если информация только для чтения полностью или частично вне входа изображения. В противном случае выводится значение 0.
Выберите режим округления для операций с фиксированной точкой.
Выберите режим переполнения для операций с фиксированной точкой.
Выберите, как задать размер слова для значений таблицы весов интерполяции. Длина дроби значений таблицы весов интерполяции всегда равна размеру слова минус единица:
Когда вы выбираете Same as input
, размер слова таблицы весов интерполяции значений совпадать с весами входа для блока.
Когда вы выбираете Binary point scaling
, можно ввести размер слова значений таблицы весов интерполяции, в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова значений таблицы весов интерполяции, в битах.
Как показано на предыдущей схеме, выход умножителя помещается в тип выходных данных продукта и масштабирование. Используйте этот параметр, чтобы задать, как обозначить это выходное слово продукта и длины дроби.
Когда вы выбираете Same as input
эти характеристики совпадают с характеристиками входов блока.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и длину дроби выходного продукта, в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова, в битах, и наклон продукта выхода. Смещение всех сигналов в блоках Computer Vision Toolbox™ составляет 0.
Как показано на предыдущей схеме, входы в аккумулятор приводятся к типу данных аккумулятора. Выход сумматора остается в типе данных аккумулятора, когда к нему добавляется каждый элемент входа. Используйте этот параметр, чтобы задать, как обозначить это слово аккумулятора и длины дроби.
Когда вы выбираете Same as product output
, эти характеристики совпадают с характеристиками выходных данных продукта.
Когда вы выбираете Same as input
эти характеристики совпадают с характеристиками входов блока.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и длину дроби аккумулятора, в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова, в битах, и наклон аккумулятора. Смещение всех сигналов в блоках Computer Vision Toolbox равно 0.
Выберите, как задать размер слова и длину дроби выхода блока:
Когда вы выбираете Same as input
эти характеристики совпадают с характеристиками входов блока.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и длину дроби выхода, в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова, в битах, и наклон выхода. Смещение всех сигналов в блоках Computer Vision Toolbox равно 0.
Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в маске блока. Для получения дополнительной информации см. fxptdlg
(Fixed-Point Designer), ссылочная страница на Fixed-Point Tool в Simulink® документация.
[1] Уорд, Джозеф и Дэвид Р. Кок. «Алгоритмы повторной дискретизации для изменения размера и вращения изображений», Proc. SPIE Digital Image Processing Applications, vol. 1075, pp. 260-269, 1989.
[2] Вольберг, Джордж. Деформация цифрового изображения. Вашингтон: IEEE Computer Society Press, 1990.