Python實(shí)現(xiàn)圖片識(shí)別加翻譯功能
Python使用百度AI接口實(shí)現(xiàn)圖片識(shí)別加翻譯
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)聽(tīng)按鍵庫(kù)
from PIL import ImageGrab #圖像處理庫(kù)
import time
from aip import AipOcr #pip install baidu_aip
# print("開(kāi)始截圖")
# 1. 截取圖片
keyboard.wait(hotkey='ctrl+alt+a')
# print("鍵盤(pán)按下了'ctrl+alt+a'")
keyboard.wait('enter')
# print("鍵盤(pán)按下了'enter'")
# 模擬延遲,來(lái)解決grabclipboard函數(shù)的緩存問(wèn)題(grabclipboard函數(shù)操作太快,它就會(huì)讀取上一次的內(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)制方式打開(kāi)圖片文件
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("文字識(shí)別:")
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):
# 通過(guò) 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í)別加翻譯功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- Python調(diào)用百度OCR實(shí)現(xiàn)圖片文字識(shí)別的示例代碼
- python 識(shí)別登錄驗(yàn)證碼圖片功能的實(shí)現(xiàn)代碼(完整代碼)
- python圖片驗(yàn)證碼識(shí)別最新模塊muggle_ocr的示例代碼
- 如何利用Python識(shí)別圖片中的文字
- Python基于內(nèi)置庫(kù)pytesseract實(shí)現(xiàn)圖片驗(yàn)證碼識(shí)別功能
- python調(diào)用有道智云API實(shí)現(xiàn)文件批量翻譯
- python開(kāi)發(fā)一款翻譯工具
- python利用google翻譯方法實(shí)例(翻譯字幕文件)
- 用Python制作mini翻譯器的實(shí)現(xiàn)示例
- python實(shí)現(xiàn)在線翻譯
- python 實(shí)現(xiàn)批量圖片識(shí)別并翻譯
相關(guān)文章
Python轉(zhuǎn)換itertools.chain對(duì)象為數(shù)組的方法
這篇文章主要介紹了Python轉(zhuǎn)換itertools.chain對(duì)象為數(shù)組的方法,通過(guò)代碼給大家介紹了itertools 的 chain() 方法,需要的朋友可以參考下2020-02-02
Python datetime時(shí)間格式化去掉前導(dǎo)0
Python datetime時(shí)間格式化去掉前導(dǎo)0,在format string的%與flag之間,添加一個(gè)“-”即可2014-07-07
淺析python 內(nèi)置字符串處理函數(shù)的使用方法
這篇文章主要介紹了python 內(nèi)置字符串處理函數(shù)的使用方法,需要的朋友可以參考下2014-06-06
Python實(shí)現(xiàn)批量合并多個(gè)txt文件并生成Excel文件
在數(shù)據(jù)處理中,有時(shí)會(huì)面臨合并多個(gè)文本文件的任務(wù),本文將詳細(xì)介紹如何使用Python批量合并多個(gè)txt文件,并將其生成為一個(gè)Excel文件,需要的可以參考下2023-12-12
Python OpenCV實(shí)現(xiàn)鼠標(biāo)畫(huà)框效果
這篇文章主要為大家詳細(xì)介紹了Python OpenCV實(shí)現(xiàn)鼠標(biāo)畫(huà)框效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08
用Python實(shí)現(xiàn)大文本文件切割的方法
今天小編就為大家分享一篇用Python實(shí)現(xiàn)大文本文件切割的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01
基于django 的orm中非主鍵自增的實(shí)現(xiàn)方式
這篇文章主要介紹了基于django 的orm中非主鍵自增的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05
一文教會(huì)你用nginx+uwsgi部署自己的django項(xiàng)目
uWSGI是一個(gè)Web服務(wù)器,它實(shí)現(xiàn)了WSGI協(xié)議、uwsgi、http等協(xié)議,下面這篇文章主要給大家介紹了關(guān)于用nginx+uwsgi部署自己的django項(xiàng)目的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08

