目录
code:参与转换计算的字符集,从左到右醒目程度逐渐减小(黑底白字)
1.先贴代码
from PIL import Image
from os import walk
from os import getcwd
from re import findall
code = '''@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrjft/\|()1{}[]?-_+~<>i!lI;:,"^`'.'''
'''
需要有一个名为input的文件夹存放源图片文件
需要有一个与input文件夹同级的文件夹out存放导出文件
请将本程序放在与input文件夹同级的位置
'''
'''
当图片只有一张时,请将其命名为数字或含有数字的字符串
当图片不止一张时,如不需要图片有顺序,则可依照上面情况命名
如需要图片有顺序,则全选图片,统一将其命名为一个任意英文字母,此时Windows系统会自动加入序号
图片的修改是无顺序的(东一个西一个),但最终导出的图片是有顺序的
目前只在Windows系统下运行
'''
class PictureToTxt:
files1=None
def GetName(self,address=getcwd()+"\\input"):
for a, b, files2 in walk(address):
self.files1=files2
def GetTxt(self,c=210,k=63):
txt=""
for d in self.files1:
image = Image.open(getcwd()+"\\input\\"+d).convert("L").resize((c, k))
h = image.size[1]
w = image.size[0]
for y in range(h):
for x in range(w):
color = image.getpixel((x, y))
color = int(color / 256 * len(code))
char = code[color - 1]
txt += char
txt += ""
txt += "\n"
for g in findall("\d+", d):
pass
with open(getcwd()+"\\out\\"+g+".txt", "w", encoding="UTF-8") as file:
file.write(txt)
txt = ""
if __name__ == '__main__':
picturetotxt=PictureToTxt()
picturetotxt.GetName()
picturetotxt.GetTxt()
2.运行规范
'''
需要有一个名为input的文件夹存放源图片文件
需要有一个与input文件夹同级的文件夹out存放导出文件
请将本程序放在与input文件夹同级的位置
'''
'''
当图片只有一张时,请将其命名为数字或含有数字的字符串
当图片不止一张时,如不需要图片有顺序,则可依照上面情况命名
如需要图片有顺序,则全选图片,统一将其命名为一个任意英文字母,此时Windows系统会自动加入序号
图片的修改是无顺序的(东一个西一个),但最终导出的图片是有顺序的
目前只在Windows系统下运行
'''
上几张图就知道是怎么一回事了