需求:女朋友是某公司職員,最近有了一項新的工作內容,就是接收客戶傳來的資料,整理到一起,但是這些資料大多是圖片,一個個的打開圖片,手寫整理到表格實在是看的我心疼,靈機一動,幫她用python寫了個小腳本
原材料大概是這樣,一個文件夾內有N多圖片,對這些圖片內的信息進行提取(沒有圖片所以在網上找了個圖片做實例)
腳本做完之后是這個樣子,一個文件夾放桌面,把需要識別的所有圖片放入,點擊啟動
啟動中,會顯示進度,並且把所有識別出來的文字寫入到successful中
可以看出識別出來的效果還是不錯的

# 安裝aip pip install baidu-aip import os from aip import AipOcr print("正在努力識別中,請耐心等待".center(60)) APP_ID = '16741980' API_KEY = 'xxxxxxxxxxxxxxxx' # 需要自己去注冊 SECRET_KEY = 'xxxxxxxxxxxxxxxxxxx' client = AipOcr(APP_ID, API_KEY, SECRET_KEY) BASE_DIR = os.getcwd() id_list = os.listdir(os.path.join(BASE_DIR, "要識別的圖片")) success_path = os.path.join(BASE_DIR, "successful.txt") count = 0 for id in id_list: img = open(os.path.join(BASE_DIR, "要識別的圖片", id), 'rb').read() msg = client.basicGeneral(img) # 識別圖片 str1 = "" for i in msg["words_result"]: print("{}".format(i["words"]).center(60)) str1 += "{}\n".format(i["words"]) with open(success_path, 'a') as f: f.write("{}\n\n".format(str1)) print("\n") print("寫入中,請稍等。。。".center(60)) count += 1 print("\n\n") print("執行結束,共完成了{}圖片的識別,資料已寫入到successful.txt".format(count).center(60)) ss = input("")
原理很簡單,就是用了百度智能雲的圖片識別接口進行識別,結果寫到本地,其他廠的我也試過,個人感覺騰訊的要比百度的精確,並且得出來的結果更加好用,可以方便的寫入excel,但是無奈要收費,所以最終用了百度,每天1000次免費識別,夠用了