使用百度api進行文字識別,完成英語作業
阿新 • • 發佈:2019-01-22
使用百度API進行文字識別,完成英語作業
介紹
這學期選了一門英語翻譯課,作業需要提交翻譯稿,但是老師為了防止我們利用翻譯軟體複製貼上,很精明的把需要翻譯的內容拍成了照片發給了我們。為了更“快”更“好“的完成作業,我就突發奇想,如果使用ocr識別照片中的文字,就不用手動把照片裡面的內容輸入翻譯軟體了。當然,訓練一個文字識別的模型成本太高,於是我就求助了一下萬能的百度API,調介面自然方便多了。
實現思路
1.呼叫百度API進行文字識別,輸出字串形式。
2.編寫爬蟲進行翻譯
很簡單,嗯,但是爬蟲那部分就有點麻煩了
程式碼實現
#識別部分 def ocr(pathfile): #定義常量,包含了你的ID,Key,Secret key APP_ID = '10944769' API_KEY = '8wzXWKgYjcvsRtQyzMs7CHuq' SECRET_KEY = 'Dd4j88qfhz1vsyLNktG70KGbCmLq77qS ' #初始化物件 aipOcr = AipOcr(APP_ID, API_KEY, SECRET_KEY) #讀取圖片 with open(pathfile, 'rb') as fp: pic = fp.read() options = { 'detect_direction': 'true', 'language_type': 'CHN_ENG', } #調介面進行識別 result = aipOcr.basicGeneral(pic, options) #生成string型返回值 words = '' for i in range(len( result['words_result'])): words = words + result['words_result'][i]['words'] return words #翻譯部分 def translate(words): url = 'http://fanyi.baidu.com/v2transapi/basetrans' data = { 'query':words, 'from':'en', 'to':'zh' } headers ={'User-Agent':'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1'} response = requests.post(url, headers=headers, data=data).content.decode() print(response) data_dict = json.loads(response) data = data_dict['trans'][0]['dst'] print(data)
識別結果還是可以的哈哈哈哈。