Python練習—畫圖軟件生成的圖像轉成txt文件(只有0和1)

# 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

發佈了53 篇原創文章 · 獲贊 15 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章