Python實現圖片識別加翻譯功能
阿新 • • 發佈:2020-01-09
Python使用百度AI介面實現圖片識別加翻譯
python誕生30週年
# encoding:utf-8 import requests import base64 from PIL import Image import pytesseract # 這裡需要安裝一下 Tesseract-OCR # 連結:https://pan.baidu.com/s/1D2eODet7x9xshBVi6ZUZ_Q # 提取碼:qfef # 安裝好之後別忘了把Tesseract-OCR路徑新增到環境變數中 import json import requests import keyboard #監聽按鍵庫 from PIL import ImageGrab #影象處理庫 import time from aip import AipOcr #pip install baidu_aip # print("開始截圖") # 1. 擷取圖片 keyboard.wait(hotkey='ctrl+alt+a') # print("鍵盤按下了'ctrl+alt+a'") keyboard.wait('enter') # print("鍵盤按下了'enter'") # 模擬延遲,來解決grabclipboard函式的快取問題(grabclipboard函式操作太快,它就會讀取上一次的內容) time.sleep(0.1) # 2. 儲存圖片到電腦上 image = ImageGrab.grabclipboard() image.save('screen.png') #************************************************************************************* request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/accurate_basic" # 二進位制方式開啟圖片檔案 f = open('screen.png','rb') img = base64.b64encode(f.read()) params = {"image":img} access_token = "你自己的access_token,百度AI裡面有教程,我把網址放下面了" # https://ai.baidu.com/ai-doc/OCR/vk3h7y58v request_url = request_url + "?access_token=" + access_token headers = {'content-type': 'application/x-www-form-urlencoded'} response = requests.post(request_url,data=params,headers=headers) print("文字識別:") if response: locList = response.json()['words_result'] for i in locList: print(i['words']) print("\n翻譯:") if response: locList = response.json()['words_result'] for i in locList: text = i['words'] ##================================================================================## # 翻譯函式,word 需要翻譯的內容 def translate(word): # 有道詞典 api url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null' # 傳輸的引數,其中 i 為需要翻譯的內容 key = { 'type': "AUTO",'i': word,"doctype": "json","version": "2.1","keyfrom": "fanyi.web","ue": "UTF-8","action": "FY_BY_CLICKBUTTON","typoResult": "true" } # key 這個字典為傳送給有道詞典伺服器的內容 response = requests.post(url,data=key) # 判斷伺服器是否相應成功 if response.status_code == 200: # 然後相應的結果 return response.text else: print("有道詞典呼叫失敗") # 失敗就返回空 return None def get_reuslt(repsonse): # 通過 json.loads 把返回的結果載入成 json 格式 result = json.loads(repsonse) print("%s" % result['translateResult'][0][0]['tgt']) def main(): list_trans = translate(text) get_reuslt(list_trans) if __name__ == '__main__': main()
儲存的圖片如下:
列印結果如下:
總結
以上所述是小編給大家介紹的Python實現圖片識別加翻譯功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!