在python3下執行,首先需要安裝pillow
pip3 install pillow
#coding=utf-8 from PIL import Image image_name='a.jpg' img=Image.open(image_name) print(img.size) print(img.mode) #convert to black/white picture img=img.convert('L') #img.show() #img.save('f.jpg') #縮小圖片 w,h=img.size #如果圖片太大,將高,寬做一個比例縮放 if w > 100: h=int((100/w)*h/2) #這里除去2是為了看着好看點 w=100 #防止圖片縮放時,質量下降 img=img.resize((w,h),Image.ANTIALIAS) #img.save('ff.jpg') if w > 100: h=int((100/w)*h/2) #這里除去2是為了看着好看點 w=100 #防止圖片縮放時,質量下降 img=img.resize((w,h),Image.ANTIALIAS) #img.save('ff.jpg') #convert to black/white picture img=img.convert('L') #img.show() #img.save('f.jpg') #縮小圖片 w,h=img.size #如果圖片太大,將高,寬做一個比例縮放 if w > 100: h=int((100/w)*h/2) #這里除去2是為了看着好看點 w=100 #防止圖片縮放時,質量下降 img=img.resize((w,h),Image.ANTIALIAS) #img.save('ff.jpg') #將縮小的圖片像素點的顏色值轉為字符並存放到列表 data=[] #替換字符的列表(從左到右,顏色加深),這里用8個字符代替255個,每個字符代表大概32個像素區間. chars=[' ',',','1','+','n','D','@','M'] #根據圖片的高,寬遍歷像素點並取出每個像素點的顏色值 for i in range(0,h): line='' for j in range(0,w): pi=img.getpixel((j,i)) #用字符去替代像素點的值 for k in range(0,8): if pi < (k+1) * 32: line += chars[7-k] break data.append(line) #將保存的像素字符列表寫入到文件 file1=open(image_name+'.txt','w') for d in data: print(d,file=file1) file1.close() print('轉換成功!')