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

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

然后打開(kāi)軟件,開(kāi)始軟件的安裝。如下先選擇安裝的語(yǔ)言,建議默認(rèn)English即可,因?yàn)楦臑槠渌Z(yǔ)言可能出現(xiàn)意想不到的錯(cuò)誤。點(diǎn)擊OK即可。

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

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

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

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

這里是安裝目錄,建議默認(rèn),直接點(diǎn)擊Next即可。

接下來(lái)是選擇是否將其添加到開(kāi)始菜單,建議默認(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變量列表中,如下:

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

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

寫(xiě)一個(gè)字符提取腳本,如下:
# 導(dǎo)入相關(guān)包 from PIL import Image import pytesseract # 打開(kāi)圖片 p='test.png' im = Image.open(p) # 使用包進(jìn)行文字識(shí)別 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完成圖片的讀取,這里可以不必理會(huì),按照給定的語(yǔ)法使用就行。
利用該代碼,輸入的結(jié)果如下:

從識(shí)別的結(jié)果來(lái)看,能夠識(shí)別部分文字,但對(duì)于框框內(nèi)的文字識(shí)別出現(xiàn)了錯(cuò)誤。對(duì)于此類(lèi)問(wèn)題需要對(duì)代碼進(jìn)行適當(dāng)調(diào)優(yōu),從而去除框框的影響,有興趣的小伙伴可以繼續(xù)深入研究。
總結(jié)
到此這篇關(guān)于Python圖片文字識(shí)別與提取的文章就介紹到這了,更多相關(guān)Python圖片文字識(shí)別與提取內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- python 識(shí)別圖片中的文字信息方法
- Python圖像處理之識(shí)別圖像中的文字(實(shí)例講解)
- python實(shí)現(xiàn)簡(jiǎn)單的文字識(shí)別
- 如何使用Python進(jìn)行OCR識(shí)別圖片中的文字
- python批量識(shí)別圖片指定區(qū)域文字內(nèi)容
- python識(shí)別圖像并提取文字的實(shí)現(xiàn)方法
- 如何利用Python識(shí)別圖片中的文字
- Python 實(shí)現(xiàn)任意區(qū)域文字識(shí)別(OCR)操作
- 如何利用Python識(shí)別圖片中的文字詳解
- Python 圖片文字識(shí)別的實(shí)現(xiàn)之PaddleOCR
相關(guān)文章
Python 3中print函數(shù)的使用方法總結(jié)
這篇文章主要給大家總結(jié)介紹了關(guān)于Python 3中print函數(shù)的使用方法,python3中的print函數(shù)和之前版本的用法相差很多,本文通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-08-08
Python使用NumPy進(jìn)行矩陣計(jì)算的案例詳解
在Python中進(jìn)行高效的矩陣計(jì)算,NumPy(Numerical Python)庫(kù)是不可或缺的工具,NumPy通過(guò)其強(qiáng)大的N維數(shù)組對(duì)象ndarray和豐富的矩陣運(yùn)算函數(shù),將傳統(tǒng)Python列表的運(yùn)算效率提升百倍以上,本文將系統(tǒng)解析如何利用NumPy完成從基礎(chǔ)到高級(jí)的矩陣計(jì)算,需要的朋友可以參考下2025-10-10
爬蟲(chóng)訓(xùn)練前端基礎(chǔ)Bootstrap5排版表格圖像
這篇文章主要為大家介紹了爬蟲(chóng)訓(xùn)練前端基礎(chǔ)Bootstrap5排版表格圖像,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
在Windows中定時(shí)執(zhí)行Python腳本的詳細(xì)教程
在Windows系統(tǒng)中,定時(shí)執(zhí)行Python腳本是一個(gè)常見(jiàn)需求,特別是在需要自動(dòng)化數(shù)據(jù)處理、監(jiān)控任務(wù)或周期性維護(hù)等場(chǎng)景中,本文將結(jié)合實(shí)際案例,詳細(xì)介紹如何在Windows中通過(guò)任務(wù)計(jì)劃程序(Task Scheduler)來(lái)實(shí)現(xiàn)定時(shí)執(zhí)行Python腳本的功能,需要的朋友可以參考下2024-08-08
Python paramiko模塊使用解析(實(shí)現(xiàn)ssh)
這篇文章主要介紹了Python paramiko模塊使用解析(實(shí)現(xiàn)ssh),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-08-08
PyHacker編寫(xiě)指南引用Nmap模塊實(shí)現(xiàn)端口掃描器
這篇文章主要為大家介紹了PyHacker編寫(xiě)指南Nmap模塊實(shí)現(xiàn)端口掃描,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
Python實(shí)現(xiàn)subprocess執(zhí)行外部命令
Python使用最廣泛的是標(biāo)準(zhǔn)庫(kù)的subprocess模塊,使用subprocess最簡(jiǎn)單的方式就是用它提供的便利函數(shù),因此執(zhí)行外部命令優(yōu)先使用subprocess模塊,下面就一起來(lái)了解一下如何使用2021-05-05

