精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

女友讓翻譯化妝品標簽 看大佬如何用Python輕松解決

阿銘linux ? 來源:博客園 ? 作者:無毀的湖光-Al ? 2021-08-25 17:27 ? 次閱讀

最近小編遇到一個生存問題,女朋友讓我給她翻譯英文化妝品標簽。美其名曰:“程序猿每天英語開發,英文一定很好吧,來幫我翻譯翻譯化妝品成分”,”來,幫我看看這個面膜建議敷幾分鐘“。。。。看來斥巨資買化妝品不算完,還需要會各種英文介紹。

默默收起大學考的一摞429分的四級證書,我打開了IDE。。。我打算開發一個能批量翻譯的圖片的demo,把家里的各種化妝品都翻譯好。機智如我,是不會自己從訓練模型做起的,打開有道智云的友好的AI接口頁面 ,果然有圖片翻譯服務,體驗了一下可是真不錯,于是果斷使用。

效果展示

Demo在這里,一起來看看效果吧:

識別過程如下:

演示

逐個看看效果哈!make up for ever 雖然沒翻譯成玫珂菲,哈哈哈但是關鍵詞長期保濕、固定噴霧都翻譯出來了~~棒

result-定妝

這個更是不明覺厲,韓文、英文混合都能翻譯~~~

result-可萊斯

櫻花水的表現也不錯哦~

result-櫻花水

再亂入一個開起來更像包裝盒的圖片識別,效果不錯,沒受圖片上文字傾斜等影響 :

result2

調用API的準備工作——生成調用所需要的應用id和密鑰

根據有道智云的接口約定,需要先在有道智云的個人頁面上生成調用所需要的應用id和密鑰,以便作為你的調用標識以及收費參考。。

具體步驟是:在有道智云的個人頁面上創建實例、創建應用、綁定應用和實例,獲取調用接口用到的應用的id和密鑰。具體個人注冊的過程和應用創建過程詳見文章分享一次批量文件翻譯的開發過程

實例

開發過程介紹

1、api接口介紹

先介紹下該工程的核心部分,有道智云圖片翻譯服務的調用接口

API HTTPS地址:https://openapi.youdao.com/ocrtransapi

接口調用方式:POST

請求格式:表單

相應格式:JSON

接口調用參數

調用API需要向接口發送以下字段來訪問服務。

字段名類型含義必填備注

typetext文件上傳類型True目前支持Base64,請置該字段值為1

fromtext源語言True參考下方的 支持語言 (可設置為auto)

totext目標語言True參考下方的 支持語言 (可設置為auto)

appKeytext應用IDTrue可在 應用管理 查看

salttextUUIDTrue1995882C5064805BC30A39829B779D7B

signtext簽名Truemd5(應用Id+q+salt+應用密鑰)

exttext翻譯結果音頻格式,支持mp3falsemp3

qtext要識別的圖片truetype為1時必填,圖片的Base64編碼

docTypetext服務器響應類型,目前只支持jsonfalsejson

rendertext是否需要服務端返回渲染的圖片,0:否;1:是,默認是0false0

nullIsErrortext如果ocr沒有檢測到文字,是否返回錯誤,false:否;true:是,默認是falsefalse注意是字符串

簽名生成方法如下:

1、將請求參數中的 應用ID appKey , 圖片的Base64編碼 q ,UUID salt 和 應用密鑰 按照 應用ID+q+salt+應用密鑰的順序拼接得到字符串 str 。

2、對字符串 str 做 md5,得到32位大寫的 sign (參考Java生成MD5示例,可點擊右側的JAVA示例)。

輸出結果

返回的結果是json格式,具體說明如下:

字段名字段說明

orientation圖片所對應的方向

lanFromocr所識別出來認為的圖片中的語言

textAngle圖片的傾斜角度

errorCode錯誤碼

lanTo目標語言

resRegions圖片翻譯的具體內容

-boundingBox區域范圍,四個值:左上角的x值,左上角的y值,區域的的寬,區域的高 例如:134,0,1066,249

-linesCount行數(用于前端排版)

-lineheight行高

-context該區域的原文

-linespace行間距

-tranContent翻譯結果

2、詳細開發

這個demo使用python3開發,包括maindow.py,transclass.py,pictranslate.py三個文件。maindow.py主要實現界面部分,使用python自帶的tkinter庫,來進行圖片文件選擇、選擇結果存放路徑。transclass.py實現了圖片讀取、處理等邏輯,最后通過pictranslate.py中的方法來調用圖片翻譯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=‘選擇翻譯結果路徑’,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()

獲取待翻譯圖片文件的方法(此處設置的僅支持.jpg文件):

def get_files():

files = filedialog.askopenfilenames(filetypes=[(‘text files’, ‘.jpg’)])

translate.file_paths=files

if files:

for file in files:

text1.insert(tk.END, file + ‘

’)

text1.update()

else:

print(‘你沒有選擇任何文件’)

獲取結果存儲路徑:

def set_result_path():

result_path=filedialog.askdirectory()

translate.result_root_path=result_path

text2.insert(tk.END,result_path)

翻譯按鈕,調用了translate_files,該文件中的translate_files()方法最終調用了translate類的translate_files()方法:

def translate_files():

if translate.file_paths:

translate.translate_files()

tk.messagebox.showinfo(“提示”,“搞定”)

else :

tk.messagebox.showinfo(“提示”,“無文件”)

2、批量圖片處理

transclass.py實現了圖片讀取、處理等邏輯,Translate類定義如下:

class Translate():

def __init__(self,name,file_paths,result_root_path,trans_type):

self.name=name

self.file_paths=file_paths # 待翻譯文件路徑

self.result_root_path=result_root_path # 結果存放路徑

self.trans_type=trans_type

def translate_files(self):

for file_path in self.file_paths: #對批量圖片逐個處理

file_name=os.path.basename(file_path)

print(‘===========’+file_path+‘===========’)

trans_reult=self.translate_use_netease(file_path) #對單個圖片調用接口

resul_file=open(self.result_root_path+‘/result_’+file_name.split(‘。’)[0]+‘.txt’,‘w’).write(trans_reult) #返回結果寫入

def translate_use_netease(self,file_content): #調用有道接口,并返回結果

result= connect(file_content)

return result

3、有道api調用

pictranslate.py中封裝了調用有道智云API的一些方法,其中最核心的是connect()方法,按照接口要求拼接了所需參數,發起請求并返回結果。

def connect(file_content,fromLan,toLan):

f = open(file_content, ‘rb’) # 二進制方式打開圖文件

q = base64.b64encode(f.read()).decode(‘utf-8’) # 讀取文件內容,轉換為base64編碼

f.close()

data = {}

# data[‘from’] = ‘源語言’

# data[‘to’] = ‘目標語言’

data[‘from’] = ‘auto’

data[‘to’] = ‘auto’

data[‘type’] = ‘1’

data[‘q’] = q

salt = str(uuid.uuid1())

signStr = APP_KEY + q + salt + APP_SECRET

sign = encrypt(signStr)

data[‘appKey’] = APP_KEY

data[‘salt’] = salt

data[‘sign’] = sign

response = do_request(data)

result=json.loads(str(response.content, encoding=“utf-8”))

print(result)

translateResults=result[‘resRegions’]

print(translateResults)

pictransresult=“”

for i in translateResults:

pictransresult=pictransresult+i[‘tranContent’]+“

return pictransresult

總結

又是一次愉快的開發體驗,而且還是為數不多的求生成功體驗 : P ,沒想到借助開放平臺的力量,圖像識別,自然語言處理變得如此易如反掌,只要能正確發起請求,就能得到不錯的翻譯結果,剩下大把的時間用來和女朋友炫技,這感覺——爽!

責任編輯:haq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器翻譯
    +關注

    關注

    0

    文章

    139

    瀏覽量

    14873
  • python
    +關注

    關注

    56

    文章

    4782

    瀏覽量

    84453

原文標題:Python給女朋友翻譯化妝品標簽,瞬間解決生存問題

文章出處:【微信號:aming_linux,微信公眾號:阿銘linux】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    何用python控制usb2any?

    我想用python控制usb2any,在網上搜索后得到的關于usb2any的資料很少,是否有官方的usb2any函數庫?
    發表于 11-08 14:36

    Python常用函數大全

    Python 世界里,有一些寶藏函數和模塊,它們可以你編程更輕松、代碼更高效。這篇文章將帶你一一認識這些神器,你的開發生活瞬間輕松
    的頭像 發表于 10-27 17:20 ?176次閱讀

    12V化妝鏡觸摸燈三級觸摸調光方案開發

    化妝來說光線實在重要,在非合適的光源下打過來光下自己,我們所看到的輪廓跟現實情況是有偏差的。換句話來說,要想化出完美的妝容,妹子們都需要一束來自鏡子的光。 好用到你愛不釋手!鏡面兩個按鈕,操作
    的頭像 發表于 10-22 15:03 ?149次閱讀

    何用python控制usb2any?

    我想用python控制usb2any,在網上搜索后得到的關于usb2any的資料很少,是否有官方的usb2any函數庫?
    發表于 09-27 06:44

    氣密性檢測儀如何檢測化妝品的密封性-岳信儀器

    化妝品行業,產品的密封性能非常重要,直接關系到化妝品的質量、安全性和保質期。氣密性檢測儀作為一種有效的檢測工具,在保證化妝品的密封性能方面發揮著重要作用。根據壓力變化或氣體流量的測量,氣密性檢測儀
    的頭像 發表于 09-12 11:33 ?327次閱讀
    氣密性檢測儀如何檢測<b class='flag-5'>化妝品</b>的密封性-岳信儀器

    利用化妝品密封測試儀:提升產品競爭力的關鍵一步

    化妝品行業,產品質量的穩定性和安全性是贏得消費者信任、提高品牌競爭力的核心因素。化妝品的密封性能直接關系到產品的保質期、使用效果和用戶體驗。因此,嚴格檢測和評估產品的密封性能,使用化妝品密封
    的頭像 發表于 08-29 10:58 ?202次閱讀
    利用<b class='flag-5'>化妝品</b>密封測試儀:提升產品競爭力的關鍵一步

    新突破!RFID標簽融合了哪些奇思妙想

    RFID電子標簽是基于無線射頻識別(RFID)技術,將物體的信息以電子標簽的形式存儲并傳輸的一種標識技術。RFID電子標簽起源于二十世紀六十年代,隨著信息技術的發展和突破,RFID電子標簽
    的頭像 發表于 06-27 14:48 ?352次閱讀
    新突破!<b class='flag-5'>看</b>RFID<b class='flag-5'>標簽</b>融合了哪些奇思妙想

    騰云馭智出海時 IBM如何用1%的數據你與眾不同

    布等幾個方面,分享了IBM混合云與AI為中國企業出海提供有力支持的最新進展和獨特價值。以下是中關村在線記者徐鵬的深度報道(已獲授權轉載)。 ? 騰云馭智出海時 IBM如何用1%的數據你與眾不同 騰云馭智出海時?
    的頭像 發表于 06-24 17:34 ?411次閱讀
    騰云馭智出海時 <b class='flag-5'>看</b>IBM如<b class='flag-5'>何用</b>1%的數據<b class='flag-5'>讓</b>你與眾不同

    Win10 vscode中無法編譯,提示python.exe: command not found怎么解決?

    電腦中已經刪除之前安裝的python,環境變量也添加了報錯內容中要求的python路徑,我用git bash、cmd也是可以打開python的,證明環境變量是已經正確設置了 應該是python
    發表于 06-07 06:42

    觀辰生物宣布完成數千萬元天使輪融資,順為資本領投

    近日,化妝品原料商「觀辰生物」宣布完成數千萬元天使輪融資,順為資本領投,上一輪投資人傳新種子基金跟投。據悉,本輪資金將主要用于研發及新產線建設。
    的頭像 發表于 03-14 14:29 ?655次閱讀

    宋仕強論道之華強北專業市場轉型失敗(四十七)

    現在的華強北的“明通化妝品市場”,以前是明通手機配套市場。我國慶節去看了一下慘不忍睹,店面裝修破舊不堪,環境衛生差劣,周邊的配套設施也非常落后。我覺得華強北靠西邊的區域目前還行,但是這里靠著東邊這一
    發表于 01-22 11:58

    整合傳感器和深度學習的“電子舌”系統

    該味覺系統有效整合了傳感器和深度學習技術,能夠同時準確地檢測咸度、酸味、苦味和甜味,有望應用于食品、酒業、化妝品和制藥等多個行業。
    的頭像 發表于 01-03 17:19 ?831次閱讀
    整合傳感器和深度學習的“電子舌”系統

    python怎么前面的不運行

    注釋。下面是關于如何前面的代碼不運行的幾種方法: 使用單行注釋:使用#符號將要禁止運行的代碼行注釋掉,以此告訴Python解釋器不要執行該行代碼。例如: # 這是一個示例代碼行 # print("Hello, World!") # 此行代碼被注釋掉,不會被執行 p
    的頭像 發表于 11-29 15:06 ?2081次閱讀

    python安裝后idle在哪兒

    Python Shell,可以您直接在其中編寫和運行 Python 代碼。當您首次安裝 Python 后,IDLE 將會
    的頭像 發表于 11-29 14:52 ?1154次閱讀

    python軟件怎么運行代碼

    Python是一種高級編程語言,它被廣泛用于開發各種類型的應用程序,從簡單的腳本到復雜的網絡應用和機器學習模型。要運行Python代碼,您需要一個Python解釋器,它可以將您的代碼翻譯
    的頭像 發表于 11-28 16:02 ?861次閱讀