Обработка окружения Используя для каждого подсистемы

В этом примере показано, как использовать Для Каждого блока Subsystem, чтобы обработать данные о субматрице, когда соседние подматрицы перекрывают друг друга. Чтобы продемонстрировать этот подход обработки данных, пример реализует обнаружение ребра изображений с линейными фильтрами с помощью Для Каждого блока Subsystem. У каждого Для Каждого блока Subsystem есть блок For Each, который должен быть сконфигурирован для разделения и конкатенации.

Откройте модель slexForEachOverlapExample в качестве примера. Эта модель использует 3х3 ядро, чтобы реализовать приложение обнаружения ребра для данного двухмерного изображения. Из-за двумерного входного сигнала этот пример использует, вкладывается Для Каждого подсистемы.

  • Внешнее Для Каждой подсистемы делит сигнал по первому измерению. Внешний блок For Each сконфигурирован, чтобы разделить входной сигнал по измерению 1. Блок задает ширину раздела 3 и смещение раздела-2. (Смещение раздела-2 указывает, что каждый срез перекрывает свои соседние срезы 2 элементами.)

  • Внутреннее Для Каждой подсистемы делит сигнал вдоль второго измерения. Внутренний блок For Each имеет те же настройки как внешний блок For Each, за исключением того, что внутренний блок собирается разделить и конкатенировать сигналы по измерению 2.

Порядок разделения произволен. Чтобы гарантировать правильность результата, порядок конкатенации выходных параметров выполняет приказ разделения.

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

Результат сравнения между оригинальным изображением и обработанным изображением показывают ниже.

Рисунок 1: Оригинальное изображение по сравнению с обработанным изображением