Python給女朋友翻譯化妝品標簽,瞬間解決生存問題
最近小編遇到一個生存問題,女朋友讓我給她翻譯英文化妝品標簽。美其名曰:"程序猿每天英語開發,英文一定很好吧,來幫我翻譯翻譯化妝品成分",”來,幫我看看這個面膜建議敷幾分鐘“。。。。看來斥巨資買化妝品不算完,還需要會各種英文介紹。
默默收起大學考的一摞429分的四級證書,我打開了IDE。。。我打算開發一個能批量翻譯的圖片的demo,把家里的各種化妝品都翻譯好。機智如我,是不會自己從訓練模型做起的,打開有道智云的友好的AI接口頁面 ,果然有圖片翻譯服務,體驗了一下可是真不錯,于是果斷使用。
效果展示
Demo在這里,一起來看看效果吧:
識別過程如下:
逐個看看效果哈!make up for ever 雖然沒翻譯成玫珂菲,哈哈哈但是關鍵詞長期保濕、固定噴霧都翻譯出來了~~棒
這個更是不明覺厲,韓文、英文混合都能翻譯~~~
櫻花水的表現也不錯哦~
再亂入一個開起來更像包裝盒的圖片識別,效果不錯,沒受圖片上文字傾斜等影響 :
調用API的準備工作——生成調用所需要的應用id和密鑰
根據有道智云的接口約定,需要先在有道智云的個人頁面上生成調用所需要的應用id和密鑰,以便作為你的調用標識以及收費參考。。
具體步驟是:在有道智云的個人頁面上創建實例、創建應用、綁定應用和實例,獲取調用接口用到的應用的id和密鑰。具體個人注冊的過程和應用創建過程詳見文章分享一次批量文件翻譯的開發過程
開發過程介紹
1、api接口介紹
先介紹下該工程的核心部分,有道智云圖片翻譯服務的調用接口
API HTTPS地址:https://openapi.youdao.com/ocrtransapi
接口調用方式:POST
請求格式:表單
相應格式:JSON
接口調用參數
調用API需要向接口發送以下字段來訪問服務。
簽名生成方法如下:
1、將請求參數中的?應用ID appKey
?,?圖片的Base64編碼 q
?,UUID salt
?和?應用密鑰
?按照?應用ID+q+salt+應用密鑰
的順序拼接得到字符串?str
?。
2、對字符串?str
?做 md5,得到32位大寫的?sign
?(參考Java生成MD5示例,可點擊右側的JAVA示例)。
輸出結果
返回的結果是json格式,具體說明如下:
2、詳細開發
這個demo使用python3開發,包括maindow.py,transclass.py,pictranslate.py三個文件。maindow.py主要實現界面部分,使用python自帶的tkinter庫,來進行圖片文件選擇、選擇結果存放路徑。transclass.py實現了圖片讀取、處理等邏輯,最后通過pictranslate.py中的方法來調用圖片翻譯API。
1、界面部分
主要元素:
獲取待翻譯圖片文件的方法(此處設置的僅支持.jpg文件):
獲取結果存儲路徑:
翻譯按鈕,調用了translate_files,該文件中的translate_files()方法最終調用了translate類的translate_files()方法:
2、批量圖片處理
transclass.py實現了圖片讀取、處理等邏輯,Translate類定義如下:
3、有道api調用
pictranslate.py中封裝了調用有道智云API的一些方法,其中最核心的是connect()方法,按照接口要求拼接了所需參數,發起請求并返回結果。
總結
又是一次愉快的開發體驗,而且還是為數不多的求生成功體驗 : P ,沒想到借助開放平臺的力量,圖像識別,自然語言處理變得如此易如反掌,只要能正確發起請求,就能得到不錯的翻譯結果,剩下大把的時間用來和女朋友炫技,這感覺——爽!
文章轉載:SegmentFault
(版權歸原作者所有,侵刪)