這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)使用python 實(shí)現(xiàn)批量圖片識(shí)別并翻譯的方法,文章內(nèi)容豐富且以專(zhuān)業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
在石景山等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶(hù)提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需網(wǎng)站策劃,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),全網(wǎng)整合營(yíng)銷(xiāo)推廣,外貿(mào)網(wǎng)站制作,石景山網(wǎng)站建設(shè)費(fèi)用合理。識(shí)別過(guò)程如下:
逐個(gè)看看效果哈!make up for ever 雖然沒(méi)翻譯成玫珂菲,哈哈哈但是關(guān)鍵詞長(zhǎng)期保濕、固定噴霧都翻譯出來(lái)了~~棒
這個(gè)更是不明覺(jué)厲,韓文、英文混合都能翻譯~~~
櫻花水的表現(xiàn)也不錯(cuò)哦~
再亂入一個(gè)開(kāi)起來(lái)更像包裝盒的圖片識(shí)別,效果不錯(cuò),沒(méi)受圖片上文字傾斜等影響 :
調(diào)用API的準(zhǔn)備工作——生成調(diào)用所需要的應(yīng)用id和密鑰
根據(jù)有道智云的接口約定,需要先在有道智云的個(gè)人頁(yè)面上生成調(diào)用所需要的應(yīng)用id和密鑰,以便作為你的調(diào)用標(biāo)識(shí)以及收費(fèi)參考。。
具體步驟是:在有道智云的個(gè)人頁(yè)面上創(chuàng)建實(shí)例、創(chuàng)建應(yīng)用、綁定應(yīng)用和實(shí)例,獲取調(diào)用接口用到的應(yīng)用的id和密鑰。具體個(gè)人注冊(cè)的過(guò)程和應(yīng)用創(chuàng)建過(guò)程詳見(jiàn)文章分享一次批量文件翻譯的開(kāi)發(fā)過(guò)程
開(kāi)發(fā)過(guò)程介紹
1、api接口介紹
先介紹下該工程的核心部分,有道智云圖片翻譯服務(wù)的調(diào)用接口
API HTTPS地址:https://openapi.youdao.com/ocrtransapi
接口調(diào)用方式:POST
請(qǐng)求格式:表單
相應(yīng)格式:JSON
接口調(diào)用參數(shù)
調(diào)用API需要向接口發(fā)送以下字段來(lái)訪(fǎng)問(wèn)服務(wù)。
字段名 | 類(lèi)型 | 含義 | 必填 | 備注 |
---|---|---|---|---|
type | text | 文件上傳類(lèi)型 | True | 目前支持Base64,請(qǐng)置該字段值為1 |
from | text | 源語(yǔ)言 | True | 參考下方的 支持語(yǔ)言 (可設(shè)置為auto) |
to | text | 目標(biāo)語(yǔ)言 | True | 參考下方的 支持語(yǔ)言 (可設(shè)置為auto) |
appKey | text | 應(yīng)用ID | True | 可在 應(yīng)用管理 查看 |
salt | text | UUID | True | 1995882C5064805BC30A39829B779D7B |
sign | text | 簽名 | True | md5(應(yīng)用Id+q+salt+應(yīng)用密鑰) |
ext | text | 翻譯結(jié)果音頻格式,支持mp3 | false | mp3 |
q | text | 要識(shí)別的圖片 | true | type為1時(shí)必填,圖片的Base64編碼 |
docType | text | 服務(wù)器響應(yīng)類(lèi)型,目前只支持json | false | json |
render | text | 是否需要服務(wù)端返回渲染的圖片,0:否;1:是,默認(rèn)是0 | false | 0 |
nullIsError | text | 如果ocr沒(méi)有檢測(cè)到文字,是否返回錯(cuò)誤,false:否;true:是,默認(rèn)是false | false | 注意是字符串 |
簽名生成方法如下:
1、將請(qǐng)求參數(shù)中的 應(yīng)用ID appKey , 圖片的Base64編碼 q ,UUID salt 和 應(yīng)用密鑰 按照 應(yīng)用ID+q+salt+應(yīng)用密鑰的順序拼接得到字符串 str 。
2、對(duì)字符串 str 做 md5,得到32位大寫(xiě)的 sign (參考Java生成MD5示例,可點(diǎn)擊右側(cè)的JAVA示例)。
輸出結(jié)果
返回的結(jié)果是json格式,具體說(shuō)明如下:
字段名 | 字段說(shuō)明 |
---|---|
orientation | 圖片所對(duì)應(yīng)的方向 |
lanFrom | ocr所識(shí)別出來(lái)認(rèn)為的圖片中的語(yǔ)言 |
textAngle | 圖片的傾斜角度 |
errorCode | 錯(cuò)誤碼 |
lanTo | 目標(biāo)語(yǔ)言 |
resRegions | 圖片翻譯的具體內(nèi)容 |
-boundingBox | 區(qū)域范圍,四個(gè)值: 左上角的x值,左上角的y值,區(qū)域的的寬,區(qū)域的高 例如:134,0,1066,249 |
-linesCount | 行數(shù)(用于前端排版) |
-lineheight | 行高 |
-context | 該區(qū)域的原文 |
-linespace | 行間距 |
-tranContent | 翻譯結(jié)果 |
2、詳細(xì)開(kāi)發(fā)
這個(gè)demo使用python3開(kāi)發(fā),包括maindow.py,transclass.py,pictranslate.py三個(gè)文件。maindow.py主要實(shí)現(xiàn)界面部分,使用python自帶的tkinter庫(kù),來(lái)進(jìn)行圖片文件選擇、選擇結(jié)果存放路徑。transclass.py實(shí)現(xiàn)了圖片讀取、處理等邏輯,最后通過(guò)pictranslate.py中的方法來(lái)調(diào)用圖片翻譯API。
1、界面部分
主要元素:
root=tk.Tk() root.title("netease youdao translation test") frm = tk.Frame(root) frm.grid(padx='50', pady='50') btn_get_file = tk.Button(frm, text='選擇待翻譯圖片', command=get_files) btn_get_file.grid(row=0, column=0, ipadx='3', ipady='3', padx='10', pady='20') text1 = tk.Text(frm, width='40', height='10') text1.grid(row=0, column=1) btn_get_result_path=tk.Button(frm,text='選擇翻譯結(jié)果路徑',command=set_result_path) btn_get_result_path.grid(row=1,column=0) text2=tk.Text(frm,width='40', height='2') text2.grid(row=1,column=1) btn_sure=tk.Button(frm,text="翻譯",command=translate_files) btn_sure.grid(row=2,column=1) root.mainloop()