# Python3
# 圖片文件在pictures文件夾
# 程序會生成pictures文件夾對應圖片的二進制文件,保存在txt文件夾
import os
from PIL import Image
from os import listdir
def picture2code(filename1,filename2):
image_file = Image.open(filename1)
# 縮放成60*70
image_file = image_file.resize((60, 70))
# 轉成黑白圖像
image_file = image_file.convert('1')
width,height=image_file.size
f1=open(filename1,'r')
f2=open(filename2,'w')
for i in range(height):
for j in range(width):
# 獲取每個像素值
pixel=int(image_file.getpixel((j,i))/255)
# 黑白圖像中0代表黑色,1代表白色
# 我希望有內容的部分表示爲1,所以將0和1互換
if(pixel==0):
pixel=1
elif(pixel==1):
pixel=0
f2.write(str(pixel))
if(j==width-1):
# 換行
f2.write('\n')
f1.close()
f2.close()
path_picture='pictures'
path_txt='txt'
# 文件夾下所有文件
pictureList=listdir(path_picture)
m=len(pictureList)
for i in range(m):
pictureNameStr=pictureList[i]
# 圖像路徑的完整表示
picturelocation=os.path.join(path_picture, pictureNameStr)
# 獲取文件前綴,即文件名
pictureStr=pictureNameStr.split('.')[0]
# 生成的文本路徑的完整表示
txtlocation=os.path.join(path_txt, '%s.txt'%pictureStr)
picture2code(picturelocation,txtlocation)
該程序可以用於手寫識別,利用一系列手寫圖像生成二進制文本。
程序picture和源碼:
鏈接:http://pan.baidu.com/s/1dF3SGyl 密碼:4z3q