Python圖片文字識別與提取實戰(zhàn)記錄
前言
在工作中,有時候會有大量的截圖、拍照數(shù)據(jù)需要提取,傳統(tǒng)只能人工錄入。但隨著人工智能的發(fā)展,OCR技術(shù)已經(jīng)可以實現(xiàn)了圖片的文字識別,本節(jié)就講講如何安裝部署文字識別環(huán)境,并進行文字識別實戰(zhàn)。
<1> 前置條件
1、掌握Python的基本知識
2、會使用pip安裝擴展包
3、下載安裝pytesseract軟件
4、會配置Windows的環(huán)境變量。
<2> 使用pip安裝pytesseract擴展包
使用pytesseract包的第一步是使用pip安裝該軟件包。在命令提示符環(huán)境中,輸入如下指令:
pip install pytesseract
等待上述指令提示安裝安裝即可,如果出錯,大概率是你的網(wǎng)絡(luò)問題。如下:

看到Successfully表示pytesseract包安裝成功。
<3> 安裝window配套軟件包
登錄https://digi.bib.uni-mannheim.de/tesseract/網(wǎng)站,下載對應(yīng)版本的軟件。如下:

然后打開軟件,開始軟件的安裝。如下先選擇安裝的語言,建議默認English即可,因為改為其它語言可能出現(xiàn)意想不到的錯誤。點擊OK即可。

出現(xiàn)如下界面,點擊Next即可。

這里會出現(xiàn)License Agreement,這是一個授權(quán)條款,點擊I Agree即可,如下:

出現(xiàn)Choose Users界面,意思是你安裝的軟件誰可以用。建議默認,如果選擇just for me會將軟件安裝到用戶目錄下。這里直接點擊Next即可。

接下來是Choose Components,即選擇組件。默認支持英文、數(shù)字的識別,如果要支持中文識別需要勾選Additional script data(han開頭的4個)和Additional language data(chinese開頭的4個)兩項的中文內(nèi)容。 然后點擊Next,如下:

這里是安裝目錄,建議默認,直接點擊Next即可。

接下來是選擇是否將其添加到開始菜單,建議默認,直接點擊Install。

然后等待安裝完成,如下。

出現(xiàn)如下界面,表示安裝完成。點擊Next即可。

最后點擊Finish按鈕,結(jié)束程序安裝。

<4> 配置環(huán)境變量
在Windows系統(tǒng)環(huán)境下使用,需要配置環(huán)境變量,主要涉及兩個。
第一個是path變量需要新增tesseract的安裝目錄。我采用的默認路徑,所以是:"C:\Program Files\Tesseract-OCR"。

第二個是path變量需要新增tesseract的數(shù)據(jù)目錄。如下:需要先新增一個變量名“TESSDATA_PREFIX”,變量值設(shè)置為:"安裝路徑\tessdata"。我采用的默認路徑,所以是:"C:\Program Files\Tesseract-OCR\tessdata",如下:

然后將新建的變量名添加到path變量列表中,如下:

完成上述步驟后,需要重啟電腦,否則接下來的步驟可能會失效。
驗證是否安裝成功,在命令提示符下輸入tesseract --version,如果出現(xiàn)如下類似信息即表示成功,否則配置失敗。

<5> 圖片文字識別
現(xiàn)在有了環(huán)境之后,小編就隨便在網(wǎng)上找一個圖來測試一下,看看效果如何,下面是在隨便找的一個路牌圖片。

寫一個字符提取腳本,如下:
# 導入相關(guān)包 from PIL import Image import pytesseract # 打開圖片 p='test.png' im = Image.open(p) # 使用包進行文字識別 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)了錯誤。對于此類問題需要對代碼進行適當調(diào)優(yōu),從而去除框框的影響,有興趣的小伙伴可以繼續(xù)深入研究。
總結(jié)
到此這篇關(guān)于Python圖片文字識別與提取的文章就介紹到這了,更多相關(guān)Python圖片文字識別與提取內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python 3中print函數(shù)的使用方法總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于Python 3中print函數(shù)的使用方法,python3中的print函數(shù)和之前版本的用法相差很多,本文通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-08-08
在Windows中定時執(zhí)行Python腳本的詳細教程
在Windows系統(tǒng)中,定時執(zhí)行Python腳本是一個常見需求,特別是在需要自動化數(shù)據(jù)處理、監(jiān)控任務(wù)或周期性維護等場景中,本文將結(jié)合實際案例,詳細介紹如何在Windows中通過任務(wù)計劃程序(Task Scheduler)來實現(xiàn)定時執(zhí)行Python腳本的功能,需要的朋友可以參考下2024-08-08
Python paramiko模塊使用解析(實現(xiàn)ssh)
這篇文章主要介紹了Python paramiko模塊使用解析(實現(xiàn)ssh),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08
PyHacker編寫指南引用Nmap模塊實現(xiàn)端口掃描器
這篇文章主要為大家介紹了PyHacker編寫指南Nmap模塊實現(xiàn)端口掃描,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
Python實現(xiàn)subprocess執(zhí)行外部命令
Python使用最廣泛的是標準庫的subprocess模塊,使用subprocess最簡單的方式就是用它提供的便利函數(shù),因此執(zhí)行外部命令優(yōu)先使用subprocess模塊,下面就一起來了解一下如何使用2021-05-05

