Median Filter

2D медианная фильтрация

  • Библиотека:
  • Vision HDL Toolbox / Analysis & Enhancement

    Vision HDL Toolbox / Фильтрация

  • Median Filter block

Описание

Блок Median Filter заменяет каждый входной пиксель на среднее значение заданного окружающего N-by-N окружение. Медиана менее чувствительна к экстремумам, чем среднее значение. Можно использовать этот блок, чтобы удалить шум соли-и-перца из изображения, значительно не уменьшая резкость изображения. Можно задать размер окружения и дополнительные значения для ребер входного изображения.

Порты

Этот блок использует пиксельный интерфейс потоковой передачи с шиной для сигналов управления кадром. Этот интерфейс позволяет блоку действовать независимо от размера изображения и формата. Порты pixel на этом блоке поддерживают одну пиксельную потоковую передачу или мультипиксельную потоковую передачу. Одна пиксельная потоковая передача принимает и возвращает одно пиксельное значение каждый такт. Мультипиксельная потоковая передача принимает и возвращает 4 или 8 пикселей за такт, чтобы поддержать высокую частоту кадров или форматы с высоким разрешением. Наряду с пикселем, блок принимает и возвращает pixelcontrol соедините шиной, который содержит пять управляющих сигналов. Управляющие сигналы указывают на валидность каждого пикселя и их местоположения в системе координат. Для мультипиксельной потоковой передачи один набор управляющих сигналов применяется ко всем четырем или восьми пикселям в векторе. Чтобы преобразовать систему координат (пиксельная матрица) в последовательный пиксельный поток и управляющие сигналы, используйте блок Frame To Pixels. Для полного описания интерфейса смотрите Пиксельный Интерфейс Потоковой передачи.

Входной параметр

развернуть все

Этот блок поддерживает одну пиксельную потоковую передачу или мультипиксельную потоковую передачу. Для одной пиксельной потоковой передачи задайте один входной пиксель как скалярное значение интенсивности. Для мультипиксельной потоковой передачи задайте вектор из четырех или восьми значений интенсивности пикселей. Для получения дополнительной информации того, как настроить вашу модель для мультипиксельной потоковой передачи, смотрите Мультипиксельные Видеопотоки Фильтра.

Этот блок не поддерживает многокомпонентную потоковую передачу. Чтобы обработать многокомпонентные потоки, реплицируйте блок для каждого компонента. pixelcontrol шина для всех компонентов идентична, таким образом, можно соединить одну шину с несколькими реплицированными блоками.

double и single типы данных поддерживаются для симуляции, но не для генерации HDL-кода.

Типы данных: uint8 | uint16 | uint32 | int8 | int16 | int32 | fixed point | Boolean | double | single

pixelcontrol шина содержит пять сигналов. Сигналы описывают валидность пикселя и его местоположения в системе координат. Для получения дополнительной информации смотрите Пиксельную Шину управления.

Для мультипиксельной потоковой передачи каждый вектор из пиксельных значений имеет один набор управляющих сигналов. Поскольку вектор имеет только один valid сигнал, пиксели в векторе должны быть или всеми допустимыми или всеми недопустимыми. hStart и vStart сигналы применяются к пикселю с самым низким индексом в векторе. hEnd и vEnd сигналы применяются к пикселю с самым высоким индексом в векторе.

Типы данных: bus

Вывод

развернуть все

Этот блок поддерживает одну пиксельную потоковую передачу или мультипиксельную потоковую передачу. При использовании одной пиксельной потоковой передачи блок возвращает один пиксель как скалярное значение интенсивности. При использовании мультипиксельной потоковой передачи блок возвращает вектор из значений интенсивности. Этот вектор одного размера с вектором входа pixel. Для получения дополнительной информации того, как настроить вашу модель для мультипиксельной потоковой передачи, смотрите Мультипиксельные Видеопотоки Фильтра.

Тип данных выходного пикселя совпадает с типом данных входных пикселей.

double и single типы данных поддерживаются для симуляции, но не для генерации HDL-кода.

Типы данных: uint8 | uint16 | uint32 | int8 | int16 | int32 | fixed point | Boolean | double | single

pixelcontrol шина содержит пять сигналов. Сигналы описывают валидность пикселя и его местоположения в системе координат. Для получения дополнительной информации смотрите Пиксельную Шину управления.

Для мультипиксельной потоковой передачи каждый вектор из пиксельных значений имеет один набор управляющих сигналов. Поскольку вектор имеет только один valid сигнал, пиксели в векторе должны быть или всеми допустимыми или всеми недопустимыми. hStart и vStart сигналы применяются к пикселю с самым низким индексом в векторе. hEnd и vEnd сигналы применяются к пикселю с самым высоким индексом в векторе.

Типы данных: bus

Параметры

развернуть все

Выберите размер окружения, в пикселях, как 3×3, 5×5, или 7×7.

Вы не можете использовать размер окружения 7×7 когда вы используете мультипиксельную потоковую передачу и устанавливаете Padding method на None.

Выберите один из этих методов для дополнения контура входного изображения. Для получения дополнительной информации об этих методах, смотрите, что Ребро Дополняет.

  • Constant — Интерпретируйте пиксели вне фрейма изображения как наличие постоянного значения.

  • Replicate — Повторите значение пикселей в ребре изображения.

  • Symmetric — Установите значение дополнительных пикселей, чтобы зеркально отразить ребро изображения.

  • None — Исключите дополнительную логику. Блок не устанавливает пиксели вне фрейма изображения ни к какому конкретному значению. Эта опция уменьшает аппаратные ресурсы, используемые блоком и очищением, требуемым между системами координат, но влияет на точность выходных пикселей в ребрах системы координат. Чтобы обеспечить пиксельную потоковую синхронизацию, выходная система координат одного размера с входным кадром. Однако избегать использования пикселей, вычисленных от неопределенных дополнительных значений, маски от KernelSize/2 пиксели вокруг ребра системы координат для нисходящих операций. Для получения дополнительной информации смотрите Пропускную способность Увеличения с Дополнением Ни одного.

Вы не можете использовать размер окружения 7×7 когда вы устанавливаете Padding method на None.

Задайте целое число, чтобы заполнить контур входного изображения. Блок бросает это значение к совпадающему типу данных как входной пиксель.

Зависимости

Чтобы включить этот параметр, установите параметр Padding method на Constant.

Задайте степень двойки, которая вмещает количество активных пикселей в одной горизонтальной линии.

Если вы задаете значение, которое не является степенью двойки, блок использует следующую самую большую степень двойки. Блок выделяет (N — 1)-by-Line buffer size, ячейки памяти, чтобы сохранить пиксели использовались для расчета среднего значения. N является размерностью квадратной области, заданной параметром Neighborhood size.

Примеры модели

Советы

  • Когда вы используете блок с внутренним буфером линии в Enabled Subsystem (Simulink), разрешать шаблон сигнала должен обеспечить синхронизацию пиксельного потока, включая минимальные интервалы гашения. Если разрешать шаблон повреждает синхронизацию пиксельного потока, вы можете видеть частичные выходные системы координат, поврежденные пиксельные потоковые управляющие сигналы или несоответствия между результатами симуляции HDL и Simulink®. Вы, возможно, должны расширить интервалы гашения, чтобы вместить для циклов, когда разрешение является низким. Для получения дополнительной информации смотрите, Конфигурируют Интервалы гашения.

Алгоритмы

развернуть все

Когда вы используете мультипиксельную потоковую передачу, блок использует однострочную память и реализует ядра фильтра NumberOfPixels параллельно. Это увеличение аппаратных ресурсов является компромиссом для увеличения пропускной способности по сравнению с потоковой передачей одно пикселя.

Расширенные возможности

Смотрите также

| | (Computer Vision Toolbox)

Представленный в R2015a
Для просмотра документации необходимо авторизоваться на сайте