Python圖片文字識別與提取實(shí)戰(zhàn)記錄
前言
在工作中,有時(shí)候會有大量的截圖、拍照數(shù)據(jù)需要提取,傳統(tǒng)只能人工錄入。但隨著人工智能的發(fā)展,OCR技術(shù)已經(jīng)可以實(shí)現(xiàn)了圖片的文字識別,本節(jié)就講講如何安裝部署文字識別環(huán)境,并進(jìn)行文字識別實(shí)戰(zhàn)。
<1> 前置條件
1、掌握Python的基本知識
2、會使用pip安裝擴(kuò)展包
3、下載安裝pytesseract軟件
4、會配置Windows的環(huán)境變量。
<2> 使用pip安裝pytesseract擴(kuò)展包
使用pytesseract包的第一步是使用pip安裝該軟件包。在命令提示符環(huán)境中,輸入如下指令:
pip install pytesseract
等待上述指令提示安裝安裝即可,如果出錯(cuò),大概率是你的網(wǎng)絡(luò)問題。如下:
看到Successfully表示pytesseract包安裝成功。
<3> 安裝window配套軟件包
登錄https://digi.bib.uni-mannheim.de/tesseract/網(wǎng)站,下載對應(yīng)版本的軟件。如下:
然后打開軟件,開始軟件的安裝。如下先選擇安裝的語言,建議默認(rèn)English即可,因?yàn)楦臑槠渌Z言可能出現(xiàn)意想不到的錯(cuò)誤。點(diǎn)擊OK即可。
出現(xiàn)如下界面,點(diǎn)擊Next即可。
這里會出現(xiàn)License Agreement,這是一個(gè)授權(quán)條款,點(diǎn)擊I Agree即可,如下:
出現(xiàn)Choose Users界面,意思是你安裝的軟件誰可以用。建議默認(rèn),如果選擇just for me會將軟件安裝到用戶目錄下。這里直接點(diǎn)擊Next即可。
接下來是Choose Components,即選擇組件。默認(rèn)支持英文、數(shù)字的識別,如果要支持中文識別需要勾選Additional script data(han開頭的4個(gè))和Additional language data(chinese開頭的4個(gè))兩項(xiàng)的中文內(nèi)容。 然后點(diǎn)擊Next,如下:
這里是安裝目錄,建議默認(rèn),直接點(diǎn)擊Next即可。
接下來是選擇是否將其添加到開始菜單,建議默認(rèn),直接點(diǎn)擊Install。
然后等待安裝完成,如下。
出現(xiàn)如下界面,表示安裝完成。點(diǎn)擊Next即可。
最后點(diǎn)擊Finish按鈕,結(jié)束程序安裝。
<4> 配置環(huán)境變量
在Windows系統(tǒng)環(huán)境下使用,需要配置環(huán)境變量,主要涉及兩個(gè)。
第一個(gè)是path變量需要新增tesseract的安裝目錄。我采用的默認(rèn)路徑,所以是:"C:\Program Files\Tesseract-OCR"。
第二個(gè)是path變量需要新增tesseract的數(shù)據(jù)目錄。如下:需要先新增一個(gè)變量名“TESSDATA_PREFIX”,變量值設(shè)置為:"安裝路徑\tessdata"。我采用的默認(rèn)路徑,所以是:"C:\Program Files\Tesseract-OCR\tessdata",如下:
然后將新建的變量名添加到path變量列表中,如下:
完成上述步驟后,需要重啟電腦,否則接下來的步驟可能會失效。
驗(yàn)證是否安裝成功,在命令提示符下輸入tesseract --version,如果出現(xiàn)如下類似信息即表示成功,否則配置失敗。
<5> 圖片文字識別
現(xiàn)在有了環(huán)境之后,小編就隨便在網(wǎng)上找一個(gè)圖來測試一下,看看效果如何,下面是在隨便找的一個(gè)路牌圖片。
寫一個(gè)字符提取腳本,如下:
# 導(dǎo)入相關(guān)包 from PIL import Image import pytesseract # 打開圖片 p='test.png' im = Image.open(p) # 使用包進(jìn)行文字識別 pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe' text = pytesseract.image_to_string(im, lang='chi_sim') print(text)
上述代碼中,除了我們安裝的包pytesseract外,還使用了PIL包,主要是利用PIL.Image完成圖片的讀取,這里可以不必理會,按照給定的語法使用就行。
利用該代碼,輸入的結(jié)果如下:
從識別的結(jié)果來看,能夠識別部分文字,但對于框框內(nèi)的文字識別出現(xiàn)了錯(cuò)誤。對于此類問題需要對代碼進(jìn)行適當(dāng)調(diào)優(yōu),從而去除框框的影響,有興趣的小伙伴可以繼續(xù)深入研究。
總結(jié)
到此這篇關(guān)于Python圖片文字識別與提取的文章就介紹到這了,更多相關(guān)Python圖片文字識別與提取內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python import用法以及與from...import的區(qū)別
這篇文章主要介紹了Python import用法以及與from...import的區(qū)別,本文簡潔明了,很容易看懂,需要的朋友可以參考下2015-05-05Win10下python3.5和python2.7環(huán)境變量配置教程
這篇文章主要為大家詳細(xì)介紹了Win10下python3.5和python2.7環(huán)境變量配置教程,文中安裝步驟介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09Python對多個(gè)sheet表進(jìn)行整合實(shí)例講解
在本篇文章里小編給大家整理的是一篇關(guān)于Python對多個(gè)sheet表進(jìn)行整合實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2021-04-04Python內(nèi)存管理精準(zhǔn)釋放與延遲拷貝技術(shù)探究
這篇文章主要為大家介紹了Python內(nèi)存管理精準(zhǔn)釋放與延遲拷貝技術(shù)探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01如何利用Python+Vue實(shí)現(xiàn)簡單的前后端分離
因?yàn)閜ython開發(fā)的高效性,python web開發(fā)也受到越來越多人的關(guān)注,下面這篇文章主要給大家介紹了關(guān)于如何利用Python+Vue實(shí)現(xiàn)簡單的前后端分離的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07