Как небольшое пиксельное изображение с несколькими цветами отобразить в виде массива переменных, где каждая переменная отвечает за определенный цвет?

как из этого
60535d53142fc348435043.png

сделать это
60535dbea2a98758172887.png
  • Вопрос задан
  • 96 просмотров
Пригласить эксперта
Ответы на вопрос 3
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Ok google -> Python to ascii
Немного другое, ну если с ascii разберетесь, то и решите свой вопрос.

Как пример:
import sys; from PIL import Image; import numpy as np

chars = np.asarray(list(' .,:;irsXA253hMHGS#9B&@'))

f = open('1.png','rb')
SC = 0.1
GCF = 1
WCF = 1

img = Image.open(f)
S = ( round(img.size[0]*SC*WCF), round(img.size[1]*SC) )
img = np.sum( np.asarray( img.resize(S) ), axis=2)
img -= img.min()
img = (1.0 - img/img.max())**GCF*(chars.size-1)

print( "\n".join( ("".join(r) for r in chars[img.astype(int)]) ) )

Только подберите параметры SC,GCF,WCF
spoiler
605361c05345f810167604.jpeg
Ответ написан
@alexbprofit
Junior SE
import numpy as np
from PIL import Image    #  pip install Pillow

img = np.asarray(Image.open('image.jpg').convert('RGB'))
Ответ написан
@rPman
Вопрос с подвохом или просто не можешь?

Загружаешь картинку (первый же пример из гугла), собираешь в массив RGB числа, пробегаешь по нему, собираешь палитру, определяешь каждому цвету свою переменную, генерируешь код тупо записью в текстовый файл.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы