Машинный Анализатор. Часть 2. Дескриптор Волнового Фронта



Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

Введение В предыдущая статья Мы рассмотрели распространение волновых нейронов, и теперь нам нужно рассмотреть дескриптор активных (красных) нейронов.

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

Теория Напомню, что изображение у нас черно-белое.

Мы пишем условие активации белых пикселей тогда и только тогда, когда рядом с белым пикселем находится только один или несколько черных пикселей.

В данном случае мы окрашиваем белый пиксель в красный цвет. То есть мы получаем сплошной контур.

Цель этой статьи — дать краткое описание набора красных пикселей.

Рассмотрим простое трехцветное изображение.

Изображение

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

Начинаем сканировать изображение сверху вниз справа налево, пока не найдём первый красный пиксель.

Как только мы его найдём, мы покрасим его в зелёный цвет и сохраним этот пиксель в отдельный массив для анализа.

Изображение

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

Далее вам нужно найти красный пиксель, ближайший к зеленому.

Есть два пикселя.

Если взять один из пикселей, то будет обход по часовой стрелке, если взять другой пиксель, то будет обход против часовой стрелки.

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

Изображение

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

В данном случае я обхожу красные пиксели по часовой стрелке.

Все то же самое, если мы видим красный пиксель рядом с зеленой клеткой, то мы заменяем его (красный пиксель) на зеленый и вводим в массив координаты красного пикселя, который был заменен на зеленый.

Также перемещаем положение сканирования точек.

Изображение

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

Теперь важный момент. Мы достигли точки, когда значение y предыдущего зеленого пикселя меньше текущего значения y зеленого пикселя.

Поскольку значение текущего пикселя больше предыдущего, мы добавляем его в массив дескрипторов волнового фронта.

Изображение

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

Продолжаем обходить контур и помещать единицы в массив дескрипторов.

Изображение

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

Так как при обходе контура на картинке положение красных пикселей по y не меняется, соответственно, мы не добавляем единицы в массив дескрипторов.

Изображение

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

Здесь значение y текущего пикселя меньше предыдущего.

Поэтому мы запишем в массив -1. Изображение

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

Здесь состояние пикселей по y также не изменилось, поэтому в массив мы тоже ничего не добавляем.

Изображение

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

Поздравляем! Мы обошли контур.

Если есть подобные контуры, их тоже обходим.

Изображение

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

Теперь вы можете упростить запись и удалить повторяющиеся элементы.

Таким образом, для данного фрагмента черных пикселей дескриптор волнового фронта будет равен (1,-1) Работа программы.

Также хотелось бы показать работу программы, которая работает с изображениями и вычисляет их контуры.

Эта программа выбирает бинарное (черно-белое) изображение из исходного изображения, состоящего из нескольких цветов.

Эта программа также создает красные контуры между белым и красным цветами.

Давайте посмотрим, как работает программа, на следующих примерах.

Изображение

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

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

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

Нажмите кнопку открыть файл Изображение

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

При скачивании файл будет отображаться в двух окнах Изображение

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

Нажмите на кнопку «вперед».

Начинаем сканировать контур изображения сверху вниз и получаем контур.

Сначала контур идет сверху вниз, и значения положительные, затем контур идет вниз, и значения отрицательные.

Поэтому мы получаем значения 1,-1 Изображение

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

Мы будем продолжать нажимать кнопку «вперед», пока не получим другое значение контура.

Теперь значение контура равно 1, -1, 1, -1. Почему это.

Если мы присмотримся, то увидим углубление в контуре.

Сначала контур идет сверху вниз, получаем положительные значения, затем идем снизу вверх, получаем отрицательные значения, потом снова идем сверху вниз, получаем положительные значения и снова снизу вверх top и снова получаем отрицательные значения.

Поэтому мы получаем значения 1, -1, 1, -1 Продолжим нажимать кнопку вперед. Изображение

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

Увы, значение контура не меняется.

Однако все верно.

Контур рассчитан правильно.

Продолжайте нажимать кнопку «вперед».

Изображение

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

Никаких изменений нет. Всё хорошо.

Изображение

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

Мы дошли до конца.

Значения контура также не изменились.

Все правильно.

Нажмите на кнопку сканирования.

Изображение

Машинный анализатор.
</p><p>
 Часть 2. Дескриптор волнового фронта

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

Сначала мы получили значение 1, -1 и его записываем.

Затем пишем значение 1, -1, 1, -1 несколько раз.

Удаляем повторяющиеся элементы.

Получаем соответствующий результат. {{1,-1}}{{1,-1,1,-1}} Следующая статья здесь Спасибо за прочтение статьи Теги: #Алгоритмы #AI #MachineAnalyzer ##MachineAnalyzer #MachineAnalyzer #MachineAnalyzer #Дескриптор волнового фронта

Вместе с данным постом часто просматривают: