Python實(shí)現(xiàn)圖片識別加翻譯功能
Python使用百度AI接口實(shí)現(xiàn)圖片識別加翻譯
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路徑添加到環(huán)境變量中
import json
import requests
import keyboard #監(jiān)聽按鍵庫
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函數(shù)的緩存問題(grabclipboard函數(shù)操作太快,它就會讀取上一次的內(nèi)容)
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"
# 二進(jìn)制方式打開圖片文件
f = open('screen.png', 'rb')
img = base64.b64encode(f.read())
params = {"image":img}
access_token = "你自己的access_token,百度AI里面有教程,我把網(wǎng)址放下面了"
# 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']
##================================================================================##
# 翻譯函數(shù),word 需要翻譯的內(nèi)容
def translate(word):
# 有道詞典 api
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=null'
# 傳輸?shù)膮?shù),其中 i 為需要翻譯的內(nèi)容
key = {
'type': "AUTO",
'i': word,
"doctype": "json",
"version": "2.1",
"keyfrom": "fanyi.web",
"ue": "UTF-8",
"action": "FY_BY_CLICKBUTTON",
"typoResult": "true"
}
# key 這個(gè)字典為發(fā)送給有道詞典服務(wù)器的內(nèi)容
response = requests.post(url, data=key)
# 判斷服務(wù)器是否相應(yīng)成功
if response.status_code == 200:
# 然后相應(yīng)的結(jié)果
return response.text
else:
print("有道詞典調(diào)用失敗")
# 失敗就返回空
return None
def get_reuslt(repsonse):
# 通過 json.loads 把返回的結(jié)果加載成 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()
保存的圖片如下:

打印結(jié)果如下:

總結(jié)
以上所述是小編給大家介紹的Python實(shí)現(xiàn)圖片識別加翻譯功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
- Python調(diào)用百度OCR實(shí)現(xiàn)圖片文字識別的示例代碼
- python 識別登錄驗(yàn)證碼圖片功能的實(shí)現(xiàn)代碼(完整代碼)
- python圖片驗(yàn)證碼識別最新模塊muggle_ocr的示例代碼
- 如何利用Python識別圖片中的文字
- Python基于內(nèi)置庫pytesseract實(shí)現(xiàn)圖片驗(yàn)證碼識別功能
- python調(diào)用有道智云API實(shí)現(xiàn)文件批量翻譯
- python開發(fā)一款翻譯工具
- python利用google翻譯方法實(shí)例(翻譯字幕文件)
- 用Python制作mini翻譯器的實(shí)現(xiàn)示例
- python實(shí)現(xiàn)在線翻譯
- python 實(shí)現(xiàn)批量圖片識別并翻譯
相關(guān)文章
opencv+python實(shí)現(xiàn)均值濾波
這篇文章主要為大家詳細(xì)介紹了opencv+python實(shí)現(xiàn)均值濾波,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02
使用pygame實(shí)現(xiàn)垃圾分類小游戲功能(已獲校級二等獎)
這篇文章主要介紹了使用pygame實(shí)現(xiàn)垃圾分類小游戲功能(已獲校級二等獎),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
如何利用Playwright庫進(jìn)行電影網(wǎng)站數(shù)據(jù)的獲取
playwright庫是微軟開源的一個(gè)庫,這個(gè)庫的功能更加的強(qiáng)大,除了可以實(shí)現(xiàn)同步操作,同樣也可以實(shí)現(xiàn)異步的操作,這篇文章主要介紹了如何利用Playwright庫進(jìn)行電影網(wǎng)站數(shù)據(jù)的獲取,需要的朋友可以參考下2023-05-05
Python將運(yùn)行結(jié)果導(dǎo)出為CSV格式的兩種常用方法
這篇文章主要給大家介紹了關(guān)于Python將運(yùn)行結(jié)果導(dǎo)出為CSV格式的兩種常用方法,Python生成(導(dǎo)出)csv文件其實(shí)很簡單,我們一般可以用csv模塊或者pandas庫來實(shí)現(xiàn),需要的朋友可以參考下2023-07-07
老生常談python函數(shù)參數(shù)的區(qū)別(必看篇)
下面小編就為大家?guī)硪黄仙U刾ython函數(shù)參數(shù)的區(qū)別(必看篇)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05
在Tensorflow中實(shí)現(xiàn)leakyRelu操作詳解(高效)
這篇文章主要介紹了在Tensorflow中實(shí)現(xiàn)leakyRelu操作詳解(高效),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06

