Median Filter

2-D медианную фильтрацию

  • Библиотека:
  • Vision HDL Toolbox/Анализ и совершенствование

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

  • Median Filter block

Описание

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

Порты

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

Вход

расширить все

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

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

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

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

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

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

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

Выход

расширить все

Этот блок поддерживает потоковую передачу с одним пикселем или многопиксельную потоковую передачу. При использовании потоковой передачи с одним пикселем блок возвращает один пиксель в качестве значения скалярной интенсивности. При использовании многопиксельной потоковой передачи блок возвращает вектор значений интенсивности. Этот вектор имеет тот же размер, что и входной pixel вектор. Для получения дополнительной информации о том, как настроить модель для мультипиксельной потоковой передачи, смотрите Filter Multipixel Video Streams.

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

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

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

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

Для многопиксельной потоковой передачи каждый вектор значений пикселей имеет один набор сигналов управления. Потому что вектор имеет только один valid сигнал, пиксели в векторе должны быть либо все допустимые, либо все недопустимые. The hStart и vStart сигналы применяются к пикселю с самым низким индексом в векторе. The 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), шаблон сигнала включения должен поддерживать синхронизацию потока пикселей, включая минимальные интервалы гашения. Если шаблон enable повреждает синхронизацию потока пикселей, вы можете увидеть частичные выходные системы координат, поврежденные сигналы управления потоком пикселей или несоответствия между Simulink® и результаты симуляции HDL. Вам может потребоваться увеличить интервалы гашения, чтобы соответствовать циклам, когда активация низкая. Дополнительные сведения см. в разделе Настройка интервалов гашения.

Алгоритмы

расширить все

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

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

.

См. также

| | (Computer Vision Toolbox)

Введенный в R2015a