ASCIIFY это python скрипт, который принимает изображение и возвращает вам текст, напоминающий входную картинку. Говоря иначе, он конвертирует картинку в текст.
Например, при использование изображения Octocat —
получается следующий ASCII Art —
....................................................................................................
....................................................................................................
.....................................####:...............####.......................................
.....................................#########################......................................
.....................................#########################......................................
.....................................########################.......................................
....................................###########################.....................................
...................................#############################....................................
...................................########?+?#######%++########....................................
...................................#####:::..::::::::::..::+####....................................
...................................####:::....::::::::.?..::####....................................
...................................####:::..?.::::::::?.?.::####....................................
...................................+###:::+??;::::::::???.::@###....................................
....................................###:::.??.::::::::.?..::###.....................................
.......................................###:::::::?::::::::###.......................................
........................................:####::::::::::@###.........................................
..................................###.......############............................................
..................................:,##.......@#######@..............................................
..................................:.##......###########.............................................
.....................................#:;....###########.............................................
......................................#@%#:S#####.#####@............................................
.......................................#######.##.######............................................
............................................##.##.######............................................
............................................##.##.######............................................
........................................::::##:##:######::::........................................
.....................................::::::###:##:###:###::::::.....................................
....................................,:::::::++##S::###++:::::::.....................................
.....................................:::::::++:++:++++++:::::::.....................................
.......................................:::::++:++:++++++:::::.......................................
..........................................::++:++:++++++::..........................................
..................................................,.................................................
....................................................................................................
ASCIIFY достаточно прост. Алгоритм таков:
- Подогонать размер изображения под стандартное, не изменяя соотношения сторон
- Перевести изображение в оттенки серого (так как мы будем менять пиксели на символы в зависимости от их интенсивности)
- Создать список специальных символов, на которые мы будет заменять пиксели
- Классифицировать и поделить пиксели на группы, в зависимости от их интенсивности
- Заменить все пиксели в группе выбранным символом
- Вывести результат в терминал или файл
- Profit!
- Убедитесь, что удовлетворены все зависимости (pip install pillow)
- Склонируйте репозиторий
- Запустите скрипт и передайте путь к изображению в качестве параметра
- Скрипт выведет результат в терминал, а также запишет его в файл 'img.txt', находящийся в той же директории, что и сам скрипт
- Profit!
- Добавить поддержку цвета, выводя текст поверх изображения
Если вам понравился проект, добавьте его в закладки ⭐
Если вам понравились и другие мои работы, не забудьте зафолловить меня! 🙂