Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Применение ИНС для Ascii Art.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
6.18 Mб
Скачать

2.Анализ задания

Pixel Art можно также назвать “Рисунок символами». Люди используют рисунки символами по ряду причин. Вот некоторые из них.

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

  2. ASCII графика компактна, размер рисунков символами в сотни раз меньше размера файлов GIF или BMP, что даёт им преимущество перед обычными графическими форматами.

  3. Это просто - скопировать из одного файла в другой (так же, вырезать и вставить).

  4. Это интересно, увлекательно и эстетически красиво!

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

Рисунок 2.1: Пример входного изображения, и схожего выходного поля

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

2.1 Возможности реализации ascii art без применения инс

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

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

  • Образ теряет всякий смысл, если устройства вывода не поддерживает цвет

  • Невозможность вывода результата в файл

Рисунок 2.2: Пример работы алгоритма и результат вставки текста в блокнот

В качестве исправление этого недостатка можно удалять фон изображения, а перед выводом символа необходимо проверять образ и если текущий образ является фоном, мы его не печатаем. Следующей модификацией можно отображать множества схожих цветов в один символ. Например синие, красные и зеленые образы в символ ‘1’, желтые в ‘0’ , черные в ‘#’, белые в ‘ ‘.

Рисунок 2.3: Пример работы алгоритма с удалением фона и результат вставки

текста в блокнот.Для определения среднего цвета использовался метод медиан.

2.2 Предпосылки для применения инс

Для оптимизации, описанной выше, необходимо решить проблему выбора цвета. Например пусть один образ это изображение 10x10, тоесть мы имеем 100 пикселей, то есть 100 цветов. Необходимо выбрать такой цвет, который наиболее точно характеризует данный образ. Например образ на рис 2.4 можно классифицировать как желтый, так и как синий цвет.

Рисунок 2.4: Пример образа.

Существуют различный подходы к определению цвета. Самый простой и неэффективный это брать случайный цвет. В общем случае цвет будет выбран неправильно.

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

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

Недостатком рассмотренных выше алгоритмов кодирования образа в символ являлся то факт, что сам символ как таковой берется случайно, и не имеет никакого отношения к образу. Пусть у нас есть образ, изображенный на рис.2.5.

Рисунок 2.5: Пример образа.

При помощи описанных алгоритмов он может быть отображен в любой символ, например ‘0’. Однако нам, как людям, видно, что образ корректнее было бы отобразить в символ ‘\’. К сожалению не существует алгоритмов, позволяющих эффективно отображать образ в символ без применения ИНС.

Из изложенного выше видно, что для повышения качества кодирования ихзображений в цветной текст необходимо два кодировщика: кодировщик образа в символ, и кодировщик образа в цвет.