Выполнить фильтрацию 2-D FIR на входной матрице
Фильтрация
visionfilter

2-й блок фильтра Finite Impulse Response (FIR) фильтрует входную матрицу I использование матрицы коэффициентов H или векторы коэффициентов HH и HV.
| Порт | Ввод/вывод | Поддерживаемые типы данных | Поддерживаемые комплексные значения |
|---|---|---|---|
Я | Вектор или матрица значений интенсивности |
| Да |
H | Матрица коэффициентов фильтра | То же, что я портирую. | Да |
ГД | Вектор коэффициентов фильтра | То же, что я портирую. Входные данные портов HH и HV должны быть одного типа. | Да |
HV | Вектор коэффициентов фильтра | То же, что я портирую. Входные данные портов HH и HV должны быть одного типа. | Да |
PVal | Скалярное значение, представляющее значение постоянной площадки | Входные данные должны иметь тот же тип данных, что и входные данные порта I. | Да |
Продукция | Скаляр, вектор или матрица отфильтрованных значений | То же, что я портирую. | Да |
Если входные данные имеют тип данных с плавающей запятой, то выходные данные используют тот же тип данных. В противном случае вывод может быть любым типом данных с фиксированной точкой.
Установите флажок Разделяемые коэффициенты фильтра, если разделяемые коэффициенты фильтра. Использование разделяемых коэффициентов фильтра уменьшает количество вычислений, которые блок должен выполнить для вычисления выходного сигнала. Например, предположим, что входное изображение M-by-N, а матрица коэффициентов фильтра x-by-y. Для неотделимого фильтра с параметром Output size, равным Same as input port I, потребуется
операции умножения-накопления (MAC) для блока для вычисления выходного сигнала. Для разделяемого фильтра потребуется только
⋅M⋅N
Операции MAC. Если вы не знаете, являются ли коэффициенты фильтра разделяемыми, используйте isfilterseparable функция.
Ниже приведен пример синтаксиса функции: [S, HCOL, HROW] = isfilterseparable(H). isfilterseparable функция принимает ядро фильтра, H, и возвращает S, HCOL и HROW. Здесь, S является логической переменной, которая равна 1, если фильтр является разделяемым, и 0, если нет. HCOL является вектором коэффициентов вертикального фильтра, и HROW - вектор коэффициентов горизонтального фильтра.
Используйте параметр Источник коэффициентов, чтобы указать способ определения коэффициентов фильтра. Если установлен флажок Разделяемые коэффициенты фильтра, а затем выбран источник коэффициентов Specify via dialogв диалоговом окне появятся параметры Вертикальные коэффициенты (по высоте) и Горизонтальные коэффициенты (по ширине). Эти параметры можно использовать для ввода векторов коэффициентов вертикального и горизонтального фильтра соответственно.
Можно также использовать переменные HCOL и HROW, выходные данные isfilterseparable функция для этих параметров. Если установлен флажок Разделяемые коэффициенты фильтра, а затем выбран источник коэффициентов Input portна блоке появляются порты HV и HH. Эти порты используются для задания векторов коэффициентов вертикального и горизонтального фильтра.
Если снять флажок Разделяемые коэффициенты фильтра и выбрать источник коэффициентов из Specify via dialogв диалоговом окне появится параметр Коэффициенты. Этот параметр используется для ввода матрицы коэффициентов фильтра.
Если снять флажок Разделяемые коэффициенты фильтра и выбрать источник коэффициентов из Input port, порт H появляется на блоке. Этот порт используется для задания матрицы коэффициентов фильтра.
Блок выводит результат операции фильтрации в выходном порту. Параметры Output size и размеры входов в портах I и H определяют размеры выхода. Например, предположим, что вход в порту I имеет размеры (Mi, Ni), а вход в порту H имеет размеры (Mh, Nh). Если выбран размер вывода, равный Full, выход имеет размеры (Mi + Mh-1, Ni + Nh-1). Если выбран размер вывода, равныйSame as input port I, выходные данные имеют те же размеры, что и входные данные в порту I. Если выбран выходной размер Validблок фильтрует входное изображение только там, где матрица коэффициентов полностью входит в него, поэтому заполнение не требуется. Выход имеет размеры (Mi-Mh + 1, Ni-Nh + 1). Однако , еслиall(size(I)<size(H)), ошибки блока.
Используйте параметр Опции заполнения (Padding options), чтобы указать способ наложения границы входной матрицы. Для заполнения матрицы постоянным значением выберите Constant. Чтобы добавить входную матрицу путем повторения ее граничных значений, выберите Replicate. Чтобы поместить матрицу ввода с зеркальным отображением, выберите Symmetric. Для заполнения входной матрицы циклическим повторением ее элементов выберите Circular. Дополнительные сведения о заполнении см. на странице ссылок блока «Панель изображения».
Если для параметра Опции заполнения (Padding options) выбран параметр Constant, в диалоговом окне появится параметр Pad value source. При выборе Specify via dialogв диалоговом окне появится параметр Pad value. Этот параметр используется для ввода постоянного значения, с помощью которого будет заполнена матрица. Если выбран параметр Pad value source ofInput portпорт PVal появляется в блоке. Этот порт используется для указания постоянного значения, на которое должна быть нанесена матрица. Значение поля должно быть реальным, если входное изображение является реальным. Вы получите сообщение об ошибке, если значение поля является сложным, когда входное изображение является реальным.
Используйте фильтрацию на основе параметра, чтобы указать алгоритм, по которому блок фильтрует входную матрицу. При выборе Convolution и задайте для параметра Output size значение Full, блок фильтрует ваш ввод по следующему алгоритму
n) * H (i − m, j − n)
где и . При выборе Correlation и задайте для параметра Output size значение Full, блок фильтрует ваш ввод по следующему алгоритму
⋅conj (H (m + i, n + j))
где и .
imfilter функция из продукта Toolbox™ обработки изображений аналогично выполняет N-D-фильтрацию многомерных изображений.
Следующая диаграмма показывает типы данных, используемые в 2-м блоке Фильтра ЕЛИ для сигналов фиксированной точки.

В маске блока можно задать типы данных коэффициента, выходного продукта, накопителя и выходных данных, как описано в разделе Параметры.
Выходной сигнал множителя находится в виде выходных данных произведения, если, по меньшей мере, один из входных сигналов множителя является реальным. Если оба входа умножителя являются комплексными, результат умножения находится в накопительном типе данных. Для получения подробной информации о комплексном умножении см. раздел Типы данных умножения.
Установите этот флажок, если коэффициенты фильтра являются разделяемыми. Использование разделяемых коэффициентов фильтра уменьшает количество вычислений, которые блок должен выполнить для вычисления выходного сигнала.
Укажите способ определения коэффициентов фильтра. Выбрать Specify via dialog для ввода коэффициентов в диалоговом окне параметров блока. Выбрать Input port для задания матрицы коэффициентов фильтра с использованием порта H или портов HH и HV.
Введите матрицу вещественных или комплексных коэффициентов фильтра. Этот параметр появляется, если снять флажок Разделяемые коэффициенты фильтра, а затем выбрать источник коэффициента из Specify via dialog. Настраиваемый.
Введите вектор коэффициентов вертикального фильтра для разделяемого фильтра. Этот параметр появляется, если установить флажок Разделяемые коэффициенты фильтра, а затем выбрать источник коэффициентов из Specify via dialog.
Введите вектор коэффициентов горизонтального фильтра для разделяемого фильтра. Этот параметр появляется, если установить флажок Разделяемые коэффициенты фильтра, а затем выбрать источник коэффициентов из Specify via dialog.
Этот параметр управляет размером отфильтрованных выходных данных. При выборе Full, выход имеет размеры (Ma + Mh-1, Na + Nh-1). При выбореSame as input port I, выходные данные имеют те же размеры, что и входные данные в порту I. Valid, выход имеет размеры (Ma-Mh + 1, Na-Nh + 1).
Укажите способ наложения границы входной матрицы. Выбрать Constant для заполнения матрицы постоянным значением. Выбрать Replicate для добавления входной матрицы путем повторения ее граничных значений. Выбрать Symmetricдля вставки входной матрицы с зеркальным отображением. Выбрать Circular для заполнения входной матрицы циклическим повторением ее элементов. Этот параметр появляется, если выбран выходной размер Full или Same as input port I.
Этот параметр используется для определения постоянного граничного значения. Выбрать Specify via dialog для ввода значения в диалоговом окне параметров блока. Выбрать Input port для задания постоянного значения с помощью порта PVal. Этот параметр появляется, если выбрать опцию Заполнение (Padding) из Constant.
Введите постоянное значение для заполнения матрицы. Этот параметр виден, если для параметра Источник значений Pad выбран Specify via dialog. Настраиваемый. Значение поля должно быть реальным, если входное изображение является реальным. Вы получите сообщение об ошибке, если значение поля является сложным, когда входное изображение является реальным.
Укажите алгоритм, по которому блок фильтрует входную матрицу. Можно выбрать Convolution или Correlation.
Выберите режимы округления для операций с фиксированной точкой.
Выберите режим переполнения для операций с фиксированной точкой. См. раздел Точность и диапазон.
Выберите способ задания длины слова и длины дроби коэффициентов фильтра.
При выборе Inherit: Same word length as inputдлина слова коэффициентов фильтра соответствует длине слова, введенного в блок. В этом режиме блок автоматически устанавливает длину дроби коэффициентов в двоичное масштабирование, которое обеспечивает наилучшую точность, учитывая значение и длину слова коэффициентов.
При выборе fixdt(1,16), можно ввести длину слова коэффициентов, в битах. В этом режиме блок автоматически устанавливает длину дроби коэффициентов в двоичное масштабирование, которое обеспечивает наилучшую точность, учитывая значение и длину слова коэффициентов.
При выборе fixdt(1,16,0), можно ввести длину слова и длину дроби коэффициентов, в битах.
При выборе <data type expression>, можно ввести выражение типа данных.
Коэффициенты фильтра не подчиняются режиму Округления (Rounding) и Сатурату (Saturate) для целочисленных параметров переполнения; вместо этого они всегда насыщены и округлены до Nearest.
Нажмите кнопку Show data type assistant (Показать помощник по типам данных
), чтобы отобразить помощник по типам данных, который помогает задать параметр Product output data type (Тип выходных данных продукта).
Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных (Simulink).
Используйте этот параметр, чтобы указать, как обозначать выходные слова продукта и длины дробей. См. разделы Типы данных с фиксированной точкой и Типы данных умножения для иллюстрации использования типа выходных данных продукта в этом блоке:
При выборе Inherit: Same as input, эти характеристики соответствуют характеристикам входа в блок.
При выборе fixdt([],16,0), можно ввести длину слова и длину дроби выходного документа в битах.
При выборе <data type expression>, можно ввести выражение типа данных.
Если для параметра «Источник коэффициентов» (на вкладке «Главная») установлено значение Input port Выход продукта наследует свой знак в соответствии с вводами. Если один или оба входных I1 и I2 подписаны, будет подписан выходной документ продукта. В противном случае выходные данные продукта не подписываются. В следующей таблице показаны все случаи.
| Знак входного I1 | Знак входного I2 | Знак выхода продукта |
|---|---|---|
| неподписанный | неподписанный | неподписанный |
| неподписанный | подписанный | подписанный |
| подписанный | неподписанный | подписанный |
| подписанный | подписанный | подписанный |
Нажмите кнопку Show 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 (Показать помощник по типам данных
), чтобы отобразить помощник по типам данных, который помогает задать параметр Product output data type (Тип выходных данных продукта).
Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных (Simulink).
Выберите способ задания длины слова и длины дроби вывода блока:
При выборе Inherit: Same as input, эти характеристики соответствуют характеристикам входа в блок.
При выборе fixdt([],16,0), можно ввести длину слова и длину дроби выходного сигнала в битах.
Можно установить для параметра signedity выходного документа значение Auto, Signed или Unsigned.
При выборе <data type expression>, можно ввести выражение типа данных.
Нажмите кнопку Show data type assistant (Показать помощник по типам данных
), чтобы отобразить помощник по типам данных, который помогает задать параметр Product output data type (Тип выходных данных продукта).
Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных (Simulink).
Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в маске блока. Дополнительные сведения см. в разделе fxptdlg (Fixed-Point Designer) - справочная страница инструмента Fixed-Point Tool в документации Simulink ®.
Панель инструментов обработки изображений |