1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/gitee-community-gitee-7th-event-3

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
图片转字符画.md 1.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 01.12.2024 16:59 2ee92af
"""
Изображение в символы
Версия: python version >= 3 
Расширения:
pip install --upgrade pip
pip install --user matplotlib
pip install pillow
"""

import matplotlib.pyplot as plt
# Ширина и высота области отображения
show_width = 150
show_height = 50    

ascii_char = list("$@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,\"^`'. ")
char_len = len(ascii_char)

# Чтение изображения, здесь необходимо указать путь к изображению
pic = plt.imread("E:/1.jpg")
pic_height ,pic_width,_ = pic.shape
# Получение высоты, ширины изображения

gray = 0.2126 * pic[:,:,0] + 0.7152 * pic[:,:,1] + 0.0722 * pic[:,:,2]
# Формула преобразования RGB в оттенки серого gray = 0,2126 * r + 0,7152 * g + 0,0722 * b

# Идея заключается в том, чтобы сопоставить значение серого с соответствующим ascii_char
for i in range(show_height):
    # Сопоставление пикселя в соответствии с пропорцией
    y = int(i * pic_height / show_height )
    text = ""
    for j in range(show_width):
        x = int(j * pic_width / show_width)
        text += ascii_char[int(gray[y][x] / 256 * char_len)]
    print(text)

Опубликовать ( 0 )

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

1
https://api.gitlife.ru/oschina-mirror/gitee-community-gitee-7th-event-3.git
git@api.gitlife.ru:oschina-mirror/gitee-community-gitee-7th-event-3.git
oschina-mirror
gitee-community-gitee-7th-event-3
gitee-community-gitee-7th-event-3
master