SandStormTT
Нужно конвертировать это всё в текст
Как ты будешь конвертировать в текст эту одну картинку 60x60? Сравнивать с шаблонной картинкой напрямую будешь или что?
Если у тебя прямое сравнение, то нужно будет сделать нарезку большого изображения с помощью модуля PIL (или его форка) и сразу сделать хеш-суммы для содержимого этих изображений (без сохранения этих изображений в отдельные файлы - прямо в оперативной памяти можно с ними работать). Эти хеш-суммы сразу сохраняются в список списков (двумерный массив). И потом тебе нужно будет загрузить 6 видов шаблонов, с которыми ты будешь сравнивать и сделать их хеш-суммы и поместить их в словарь вида {хеш-сумма -> символ, хеш-сумма -> символ, …, хеш-сумма -> символ}. И дальше ты двумерный массив этот из хеш-сумм нарезок прогоняешь через этот словарь и получаешь символы. И уже после этого ты к полученным строкам добавляешь там дополнительные символы (строки) по бокам.
SandStormTT
Какие для всего это нужны библиотеки/модули итд?
Модуль PIL, модуль hashlib, класс list, класс dict, класс str.
>>> import PIL.Image
>>>
>>> image = PIL.Image.open('math_sum.png')
>>>
>>> import hashlib
>>>
>>> hashlib.md5(image.tobytes()).hexdigest()
'd4acc355322334d85a814e8af4fed3ff'
>>>
>>> image.tobytes()[100000:100000+300]
b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xed\xed\xed\xff\xaa\xaa\xaa\xff\xaa\xaa\xaa\xff\xa2\xa2\xa2\xff\x91\x91\x91\xffPPP\xff\x00\x00\x00\xff\x00\x00\x00\xff\x00\x00\x00\xff\x0f\x0f\x0f\xffkkk\xff\x98\x98\x98\xff\xa8\xa8\xa8\xff\xaa\xaa\xaa\xff\xb2\xb2\xb2\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'
>>>
>>> pic = image.crop((0, 0, 20, 10))
>>> pic
<PIL.Image.Image image mode=RGBA size=20x10 at 0x7F32A8847278>
>>>
>>> hashlib.md5(pic.tobytes()).hexdigest()
'dbb1b385986380706b393137401c19c4'
>>>
>>> image.close()
>>>