Выполните 2D КИХ-фильтрацию на входной матрице
Фильтрация
visionfilter
2D блок фильтра Конечной импульсной характеристики (FIR) фильтрует входную матрицу I
использование матрицы коэффициентов H
или векторы коэффициентов HH
и HV
.
Порт | Ввод/вывод | Поддерживаемые типы данных | Поддерживаемые комплексные числа |
---|---|---|---|
I | Вектор или матрица значений интенсивности |
| Да |
H | Матрица коэффициентов фильтра | То же самое, когда я портирую. | Да |
HH | Вектор из коэффициентов фильтра | То же самое, когда я портирую. Вход к портам HH и HV должен быть совпадающим типом данных. | Да |
HV | Вектор из коэффициентов фильтра | То же самое, когда я портирую. Вход к портам HH и HV должен быть совпадающим типом данных. | Да |
PVal | Скалярное значение, которое представляет постоянное значение клавиатуры | Введите должен иметь совпадающий тип данных как вход, я портирую. | Да |
Вывод | Скаляр, вектор или матрица отфильтрованных значений | То же самое, когда я портирую. | Да |
Если вход имеет тип данных с плавающей точкой, то выход использует совпадающий тип данных. В противном случае выход может быть любым типом данных с фиксированной точкой.
Установите флажок Separable filter coefficients, если ваши коэффициенты фильтра отделимы. Используя отделимый фильтр коэффициенты уменьшают объем вычислений, которые блок должен выполнить, чтобы вычислить выход. Например, предположите, что вашим входным изображением является M-by-N, и ваша матрица коэффициентов фильтра является x-by-y. Для неотделимого фильтра с набором параметров Output size к Same as input port I
, это взяло бы
умножьтесь - накапливают операции (MAC) для блока, чтобы вычислить выход. Для отделимого фильтра это только взяло бы
Операции MAC. Если вы не знаете, отделимы ли ваши коэффициенты фильтра, используйте isfilterseparable
функция.
Вот пример синтаксиса функций, [S, HCOL, HROW] =
isfilterseparable(H)
. isfilterseparable
функционируйте берет ядро фильтра, H
, и возвращает S
, HCOL
и HROW
. Здесь, S
Логическая переменная, которая равняется 1, если фильтр отделим и 0, если это не. HCOL
вектор из вертикальных коэффициентов фильтра и HROW
вектор из горизонтальных коэффициентов фильтра.
Используйте параметр Coefficient source, чтобы задать, как задать ваши коэффициенты фильтра. Если вы устанавливаете флажок Separable filter coefficients и затем выбираете Coefficient source of Specify via dialog
, Vertical coefficients (across height) и параметры Horizontal coefficients (across width) появляются в диалоговом окне. Можно использовать эти параметры, чтобы ввести векторы из вертикальных и горизонтальных коэффициентов фильтра, соответственно.
Можно также использовать переменные HCOL
и HROW
, выход isfilterseparable
функция, для этих параметров. Если вы устанавливаете флажок Separable filter coefficients и затем выбираете Coefficient source of Input port
, порты HV и HH появляются на блоке. Используйте эти порты, чтобы задать векторы из вертикальных и горизонтальных коэффициентов фильтра.
Если вы снимаете флажок Separable filter coefficients и выбираете Coefficient source of Specify via dialog
, параметр Coefficients появляется в диалоговом окне. Используйте этот параметр, чтобы ввести вашу матрицу коэффициентов фильтра.
Если вы снимаете флажок Separable filter coefficients и выбираете Coefficient source of Input port
, порт H появляется на блоке. Используйте этот порт, чтобы задать вашу матрицу коэффициентов фильтра.
Блок выводит результат операции фильтрации в Выходном порту. Параметр Output size и размеры входных параметров в портах I и H диктуют размерности выхода. Например, примите, что вход в порте, у меня есть размерности (Mi, Ni) и вход в порте H, имеет размерности (Mh, Nh). Если вы выбираете Output size of Full
, выход имеет размерности (Mi +Mh-1, Ni +Nh-1). Если вы выбираете Output size of Same as input port I
, выход имеет те же размерности как вход в порте I. Если вы выбираете Output size of Valid
, блок фильтрует входное изображение только там, где матрица коэффициентов соответствует полностью в нем, таким образом, никакое дополнение не требуется. Выход имеет размерности (Mi-Mh+1, Ni-Nh+1). Однако, если all(size(I)<size(H))
, блочные ошибки.
Используйте параметр Padding options, чтобы задать, как заполнить контур вашей входной матрицы. Чтобы заполнить вашу матрицу постоянным значением, выберите Constant
. Чтобы заполнить вашу входную матрицу путем повторения ее значений границы, выберите Replicate
. Чтобы заполнить вашу входную матрицу ее зеркальным отображением, выберите Symmetric
. Чтобы заполнить вашу входную матрицу использование кругового повторения его элементов, выберите Circular
. Для получения дополнительной информации о дополнении смотрите страницу с описанием блока Image Pad.
Если для параметра Padding options вы выбираете Constant
, параметр Pad value source появляется в диалоговом окне. Если вы выбираете Specify via dialog
, параметр Pad value появляется в диалоговом окне. Используйте этот параметр, чтобы ввести постоянное значение, которым можно заполнить вашу матрицу. Если вы выбираете Pad value source ofInput port
, порт PVal появляется на блоке. Используйте этот порт, чтобы задать постоянное значение, которым можно заполнить вашу матрицу. Значение клавиатуры должно быть действительным, если входное изображение действительно. Вы получите сообщение об ошибке, если значение клавиатуры будет комплексным, когда входное изображение действительно.
Используйте параметр Filtering based on, чтобы задать алгоритм, которым блок фильтрует входную матрицу. Если вы выбираете Convolution
и установленный параметр Output size на Full
, блок фильтрует ваш вход с помощью следующего алгоритма
где и . Если вы выбираете Correlation
и установленный параметр Output size на Full
, блок фильтрует ваш вход с помощью следующего алгоритма
где и .
imfilter
функция от продукта Image Processing Toolbox™ так же выполняет фильтрацию N-D многомерных изображений.
Следующая схема показывает типы данных, используемые в 2D блоке FIR Filter для сигналов фиксированной точки.
Можно установить коэффициент, продукт выход, аккумулятор и типы выходных данных в маске блока, как обсуждено в Параметрах.
Выход множителя находится в типе выходных данных продукта, если по крайней мере одни из входных параметров ко множителю действительны. Если оба из входных параметров ко множителю являются комплексными, результат умножения находится в типе данных аккумулятора. Для получения дополнительной информации на комплексном выполняемом умножении, обратитесь к Типам данных Умножения.
Установите этот флажок, если ваши коэффициенты фильтра отделимы. Используя отделимый фильтр коэффициенты уменьшают объем вычислений, которые блок должен выполнить, чтобы вычислить выход.
Задайте, как задать ваши коэффициенты фильтра. Выберите Specify via dialog
ввести ваши коэффициенты в диалоговое окно параметров блоков. Выберите Input port
задавать вашу матрицу коэффициентов фильтра с помощью порта H или портов HH и HV.
Введите свою действительную или матрицу коэффициентов фильтра с комплексным знаком. Этот параметр появляется, если вы снимаете флажок Separable filter coefficients и затем выбираете Coefficient source of Specify via dialog
. Настраиваемый.
Введите вектор из вертикальных коэффициентов фильтра для вашего отделимого фильтра. Этот параметр появляется, если вы устанавливаете флажок Separable filter coefficients и затем выбираете Coefficient source of Specify via dialog
.
Введите вектор из горизонтальных коэффициентов фильтра для вашего отделимого фильтра. Этот параметр появляется, если вы устанавливаете флажок Separable filter coefficients и затем выбираете Coefficient source of Specify via dialog
.
Этот параметр управляет размером отфильтрованного выхода. Если вы выбираете Full
, выход имеет размерности (Ma +Mh-1, Na +Nh-1). Если вы выбираете Same as input port I
, выход имеет те же размерности как вход в порте I If, вы выбираете Valid
, выведите имеет размерности (Ma-Mh+1, Na-Nh+1).
Задайте, как заполнить контур вашей входной матрицы. Выберите Constant
заполнять вашу матрицу постоянным значением. Выберите Replicate
заполнять вашу входную матрицу путем повторения ее значений границы. Выберите Symmetric
заполнять вашу входную матрицу ее зеркальным отображением. Выберите Circular
заполнять вашу входную матрицу использование кругового повторения его элементов. Этот параметр появляется, если вы выбираете Output size of Full
или Same as input port I
.
Используйте этот параметр, чтобы задать, как задать ваше постоянное граничное значение. Выберите Specify via dialog
ввести ваше значение в диалоговое окно параметров блоков. Выберите Input port
задавать ваше постоянное значение с помощью порта PVal. Этот параметр появляется, если вы выбираете Padding options of Constant
.
Введите постоянное значение, которым можно заполнить вашу матрицу. Этот параметр отображается, если для параметра Pad value source вы выбираете Specify via dialog
. Настраиваемый. Значение клавиатуры должно быть действительным, если входное изображение действительно. Вы получите сообщение об ошибке, если значение клавиатуры будет комплексным, когда входное изображение действительно.
Задайте алгоритм, которым блок фильтрует входную матрицу. Можно выбрать Convolution
или Correlation
.
Выберите Rounding Modes для операций фиксированной точки.
Выберите режим переполнения для операций фиксированной точки. Смотрите Точность и Область значений.
Выберите, как задать размер слова и дробную длину коэффициентов фильтра.
Когда вы выбираете Inherit: Same word length as input
, размер слова содействующего соответствия фильтра тот из входа с блоком. В этом режиме блок автоматически устанавливает дробную длину коэффициентов к двоичной точке, только масштабирующейся, который предоставляет вам лучшую точность, возможную, учитывая значение и размер слова коэффициентов.
Когда вы выбираете fixdt(1,16)
, можно ввести размер слова коэффициентов в битах. В этом режиме блок автоматически устанавливает дробную длину коэффициентов к двоичной точке, только масштабирующейся, который предоставляет вам лучшую точность, возможную, учитывая значение и размер слова коэффициентов.
Когда вы выбираете fixdt(1,16,0)
, можно ввести размер слова и дробную длину коэффициентов в битах.
Когда вы выбираете <data type expression>
, можно ввести выражение типа данных.
Коэффициенты фильтра не выполняют Rounding mode и параметры Saturate on integer overflow; вместо этого, они всегда насыщаются и округляются к Nearest
.
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Product output data type.
Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.
Используйте этот параметр, чтобы задать, как назвать продукт выходным словом и дробными длинами. Обратитесь к Типам данных с фиксированной точкой и Типам данных Умножения для рисунков, изображающих использование типа выходных данных продукта в этом блоке:
Когда вы выбираете Inherit: Same as input
, эти характеристики совпадают с теми из входа с блоком.
Когда вы выбираете fixdt([],16,0)
, можно ввести размер слова и дробную длину продукта выход в битах.
Когда вы выбираете <data type expression>
, можно ввести выражение типа данных.
Если вы устанавливаете Coefficient source (на вкладке Main) к Input port
продукт Выход наследует свой знак согласно входным параметрам. Если или или оба входа I1 и I2 будут подписаны, продукт, то Выход будет подписан. В противном случае продукт Выход без знака. Следующая таблица показывает все случаи.
Знак входа I1 | Знак входа I2 | Знак продукта Выход |
---|---|---|
без знака | без знака | без знака |
без знака | со знаком | со знаком |
со знаком | без знака | со знаком |
со знаком | со знаком | со знаком |
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Product output data type.
Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.
Используйте этот параметр, чтобы задать, как определять слово аккумулятора и дробные длины. Обратитесь к Типам данных с фиксированной точкой и Типам данных Умножения для рисунков, изображающих использование типа данных аккумулятора в этом блоке. Тип данных аккумулятора только используется, когда оба входных параметров ко множителю комплексные:
Когда вы выбираете Inherit: Same as input
, эти характеристики совпадают с теми из входа с блоком.
Когда вы выбираете Inherit: Same as product output
, эти характеристики совпадают с теми из продукта выход.
Когда вы выбираете fixdt([],16,0)
, можно ввести размер слова и дробную длину аккумулятора в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова в битах и наклоне аккумулятора. Все сигналы в программном обеспечении Computer Vision Toolbox™ имеют смещение 0.
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Product output data type.
Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.
Выберите, как задать размер слова и дробная продолжительность выхода блока:
Когда вы выбираете Inherit: Same as input
, эти характеристики совпадают с теми из входа с блоком.
Когда вы выбираете fixdt([],16,0)
, можно ввести размер слова и дробная продолжительность выхода в битах.
Можно принять решение установить со знаком из выхода к Auto
, Signed
или Unsigned
.
Когда вы выбираете <data type expression>
, можно ввести выражение типа данных.
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, который помогает вам установить параметр Product output data type.
Смотрите Задают Типы данных Используя Ассистент Типа данных (Simulink) для получения дополнительной информации.
Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на маске блока. Для получения дополнительной информации смотрите fxptdlg
(Fixed-Point Designer), страница с описанием на Fixed-Point Tool в документации Simulink®.
Image Processing Toolbox |