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