Skip to content

Latest commit

 

History

History
84 lines (73 loc) · 6.87 KB

README_ru.md

File metadata and controls

84 lines (73 loc) · 6.87 KB

Конвертация изображений в ASCII Art с помощью Python

Содержание

Что такое ASCIIFY

ASCIIFY это python скрипт, который принимает изображение и возвращает вам текст, напоминающий входную картинку. Говоря иначе, он конвертирует картинку в текст.

Например, при использование изображения Octocat —

получается следующий ASCII Art —

....................................................................................................
....................................................................................................
.....................................####:...............####.......................................
.....................................#########################......................................
.....................................#########################......................................
.....................................########################.......................................
....................................###########################.....................................
...................................#############################....................................
...................................########?+?#######%++########....................................
...................................#####:::..::::::::::..::+####....................................
...................................####:::....::::::::.?..::####....................................
...................................####:::..?.::::::::?.?.::####....................................
...................................+###:::+??;::::::::???.::@###....................................
....................................###:::.??.::::::::.?..::###.....................................
.......................................###:::::::?::::::::###.......................................
........................................:####::::::::::@###.........................................
..................................###.......############............................................
..................................:,##.......@#######@..............................................
..................................:.##......###########.............................................
.....................................#:;....###########.............................................
......................................#@%#:S#####.#####@............................................
.......................................#######.##.######............................................
............................................##.##.######............................................
............................................##.##.######............................................
........................................::::##:##:######::::........................................
.....................................::::::###:##:###:###::::::.....................................
....................................,:::::::++##S::###++:::::::.....................................
.....................................:::::::++:++:++++++:::::::.....................................
.......................................:::::++:++:++++++:::::.......................................
..........................................::++:++:++++++::..........................................
..................................................,.................................................
....................................................................................................

Как это работает

ASCIIFY достаточно прост. Алгоритм таков:

  • Подогонать размер изображения под стандартное, не изменяя соотношения сторон
  • Перевести изображение в оттенки серого (так как мы будем менять пиксели на символы в зависимости от их интенсивности)
  • Создать список специальных символов, на которые мы будет заменять пиксели
  • Классифицировать и поделить пиксели на группы, в зависимости от их интенсивности
  • Заменить все пиксели в группе выбранным символом
  • Вывести результат в терминал или файл
  • Profit!

Как этим пользоваться

  • Убедитесь, что удовлетворены все зависимости (pip install pillow)
  • Склонируйте репозиторий
  • Запустите скрипт и передайте путь к изображению в качестве параметра
  • Скрипт выведет результат в терминал, а также запишет его в файл 'img.txt', находящийся в той же директории, что и сам скрипт
  • Profit!

Планы на будущее

  • Добавить поддержку цвета, выводя текст поверх изображения

Поддержать проект

Если вам понравился проект, добавьте его в закладки ⭐

Если вам понравились и другие мои работы, не забудьте зафолловить меня! 🙂