python+百度 實現批量識別圖片上的文字


需求:女朋友是某公司職員,最近有了一項新的工作內容,就是接收客戶傳來的資料,整理到一起,但是這些資料大多是圖片,一個個的打開圖片,手寫整理到表格實在是看的我心疼,靈機一動,幫她用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次免費識別,夠用了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM