人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

Python調(diào)用百度AI實現(xiàn)圖片上文字識別功能實例

發(fā)布日期:2022-01-24 18:52 | 文章來源:源碼之家

簡介

Python免費(fèi)調(diào)用百度AI實現(xiàn)圖片上面的文字識別

步驟

安裝百度AI庫

!pip install baidu-aip

注冊百度AI開放平臺

先注冊百度AI,獲得ID和密鑰。注冊方法可參考:注冊方法 只需走到 “1.6 獲取密鑰” 即可。然后記錄下自己的APP_ID、API_KEY、SECRET_KEY,就可以開始了。

調(diào)用glob庫

glob庫用于獲得指定路徑下的指定后綴的文件,圖片使用的是《數(shù)學(xué)模型》pdf掃描版,部分如下:

import glob
path = "數(shù)學(xué)模型\\"
glob.glob(path+"*.png")

指定文件夾中的指定的.png后綴的文件,全部提取出來了:

選取第一張圖片 “數(shù)學(xué)模型1.png” 做測試:

files = glob.glob(path+"*.png")
file = files[0]

調(diào)用AipOcr庫識別文字

導(dǎo)入AipOcr模塊,這個模塊是用于做文字識別的(OCR即Optical Character Recognition,光學(xué)字符識別)。填入你申請的ID和KEY,client = AipOcr()是固定寫法。先用二進(jìn)制方式rb打開,然后讀取,再調(diào)用百度AI進(jìn)行識別,并將識別結(jié)果存入message變量。

from aip import AipOcr #導(dǎo)入AipOcr模塊,用于做文字識別
import glob
APP_ID = '*********' # 你申請的
API_KEY = '*********'# 你申請的
SECRET_KEY = '*********'# 你申請的
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
pic = open(file,'rb')# 以二進(jìn)制(rb)打開
img = pic.read() # 讀取
message = client.basicGeneral(img) # 調(diào)用百度AI識別圖片中的文字

查看message參數(shù),結(jié)果如下:

可見,message參數(shù)的結(jié)果為 “大字典” 形式,其中的鍵 words_result 所對應(yīng)的值為一個 “大列表” ,這個列表里又有很多鍵值對,鍵都是words,值就是AI從圖片上識別出來的內(nèi)容。使用語句message['words_result'][0...n]['words']可以篩選出該頁的標(biāo)題:

message['words_result'][1]['words']

for循環(huán)逐行提取:

for words in message['words_result']:
 word = words['words'] # 提取文字
 print(word)

識別效果圖:

識別也不是完美的,有很多識別錯誤與未識別出的文字。當(dāng)然,原圖字體越清晰,識別度越高。

可能會遇到的問題

識別過程中可能會遇到類似識別錯誤(無法識別)問題,原因是未領(lǐng)取免費(fèi)識別次數(shù),解決過程如下:

百度OCR API識別失?。篛pen api qps request limit reached 錯誤 解決方法

幾個月前,用Python寫了個小工具,主要是用到了百度的OCR API做了個文字識別的小工具,前面一直能用,然而今天,在使用的時候,報錯了。
錯誤如下:Open api qps request limit reached

最后終于找到了解決方法,原來,現(xiàn)在要自己去領(lǐng)取免費(fèi)的測試額度了?。?!

領(lǐng)取免費(fèi)測試額度的地址:(或者你在你原來那個調(diào)用的那個項目里也可以找到免費(fèi)領(lǐng)取測試額度,見下圖)

https://console.bce.baidu.com/ai/#/ai/ocr/overview/resource/getFree

領(lǐng)取完之后,還是用原來項目的appID,apiKey,secretKey即可。

然后等領(lǐng)取額度到賬后,重新運(yùn)行就行了。

批量操作

批量操作的核心為for循環(huán),txt_file = open('數(shù)學(xué)模型.txt', 'a')指打開名字為“數(shù)學(xué)模型”的文本文件(若不存在則自動新建),模式為添加模式,即'a'模式。添加模式是指,如果文本中已經(jīng)有一些內(nèi)容,則接著往下寫,不會影響原來的內(nèi)容。如果是'w'模式,則會將之前的內(nèi)容全部覆蓋。然后遍歷待處理的圖片,逐個處理:

from aip import AipOcr #導(dǎo)入AipOcr模塊,用于做文字識別
import glob
APP_ID = '*********' # 你申請的
API_KEY = '*********'# 你申請的
SECRET_KEY = '*********'# 你申請的
client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
path = "數(shù)學(xué)模型\\"
files = glob.glob(path+"*.png")
txt_file = open('數(shù)學(xué)模型.txt', 'a')
for file in files:
 pic = open(file,'rb')# 以二進(jìn)制(rb)打開
 img = pic.read() # 讀取
 message = client.basicGeneral(img) # 調(diào)用百度AI識別圖片中的文字
 for words in message['words_result']:
  word = words['words'] # 提取文字
  print(word)
  txt_file.write(word) # 將文字寫入文本文件
txt_file.close() # 關(guān)閉文本文件

總結(jié)

到此這篇關(guān)于Python調(diào)用百度AI實現(xiàn)圖片上文字識別功能的文章就介紹到這了,更多相關(guān)Python圖片上文字識別內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部