20行代碼教你如何批量提取圖片中文字

大家好,我是小瑜~

之前小瑜學(xué)習(xí)Python時(shí)遇到過(guò)一個(gè)問(wèn)題,就是要將圖片中的文字給提取出來(lái),當(dāng)時(shí)是別人幫忙搞出來(lái)的,現(xiàn)在學(xué)會(huì)了提取方式,來(lái)給大家分享一下。當(dāng)然也給大家準(zhǔn)備了源碼在文末。

01創(chuàng)建賬號(hào)

我們這次使用的是百度AI上的文字識(shí)別功能,來(lái)將圖片上的文字進(jìn)行提取。我們先打開百度AI界面,然后點(diǎn)擊控制臺(tái)。

跳轉(zhuǎn)到登陸界面后,輸入賬號(hào)密碼后,跳轉(zhuǎn)到管理界面,此時(shí)我們點(diǎn)擊文字識(shí)別。進(jìn)入到文字識(shí)別應(yīng)用界面。

然后創(chuàng)建一個(gè)應(yīng)用(如已創(chuàng)建好,就點(diǎn)擊管理應(yīng)用)。

創(chuàng)建好后,進(jìn)入到應(yīng)用列表中,記下來(lái)‘AppID’、‘API Key’、‘Secret Key’這三個(gè)參數(shù)的值。在后面對(duì)API進(jìn)行調(diào)用的時(shí)候需要用到這三個(gè)參數(shù)。

02提取文字

我們?cè)谏厦嬉呀?jīng)注冊(cè)號(hào)百度AI的賬號(hào)了,現(xiàn)在我們要開始使用它來(lái)將圖片中的文字給提取出來(lái)。首先,我們先安裝一下要使用到的庫(kù)。

pip install baidu-aip

這個(gè)庫(kù)里提供了兩個(gè)函數(shù):AipOcr函數(shù)和client.basicGeneral函數(shù)。這兩個(gè)函數(shù)一個(gè)實(shí)現(xiàn)用戶驗(yàn)證功能,另一個(gè)實(shí)現(xiàn)了文字識(shí)別功能。代碼如下:

from aip import AipOcr

APP_ID = '你的APPID'

API_KEY = 'API Key'

SECRET_KEY = '你的Secret Key'

client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

with open(img,'rb') as f:

? image = f.read()

word = client.basicGeneral(image)

轉(zhuǎn)換效果如下:

從圖中可以看出,這樣的轉(zhuǎn)化方式還是比率還是很高的。

03批量提取

我們已經(jīng)學(xué)會(huì)如何提取單張圖片中的文字了,現(xiàn)在我們只要能夠遍歷圖片就可以了。在上一篇 文章中,我們分享了一個(gè)遍歷該目錄下Excel文件的辦法,遍歷圖片其實(shí)和他一樣,只不過(guò)把Excel換成jpg即可。代碼如下:

from pathlib import Path, PurePath

files = []

p = Path(src_path)

for x in p.iterdir():

if PurePath(x).match('*.jpg'):

? ? ? files.append(x)

04小結(jié)

批量提取圖片文字的思路是:

1. 注冊(cè)百度AI的賬號(hào)。

2. 通過(guò)調(diào)用百度AI,將圖片中的文字提取。

3. 將提取出來(lái)的文字進(jìn)行保存。

4. 依次遍歷該目錄下所有圖片,重復(fù)2、3操作。

點(diǎn)擊即可獲得源碼。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容