初探利用Python進(jìn)行圖文識(shí)別(OCR)
話(huà)說(shuō)什么是OCR?????
簡(jiǎn)介
OCR技術(shù)是光學(xué)字符識(shí)別的縮寫(xiě)(Optical Character Recognition),是通過(guò)掃描等光學(xué)輸入方式將各種票據(jù)、報(bào)刊、書(shū)籍、文稿及其它印刷品的文字轉(zhuǎn)化為圖像信息,再利用文字識(shí)別技術(shù)將圖像信息轉(zhuǎn)化為可以使用的計(jì)算機(jī)輸入技術(shù)??蓱?yīng)用于銀行票據(jù)、大量文字資料、檔案卷宗、文案的錄入和處理領(lǐng)域。適合于銀行、稅務(wù)等行業(yè)大量票據(jù)表格的自動(dòng)掃描識(shí)別及長(zhǎng)期存儲(chǔ)。相對(duì)一般文本,通常以最終識(shí)別率、識(shí)別速度、版面理解正確率及版面還原滿(mǎn)意度4個(gè)方面作為OCR技術(shù)的評(píng)測(cè)依據(jù);而相對(duì)于表格及票據(jù),通常以識(shí)別率或整張通過(guò)率及識(shí)別速度為測(cè)定OCR技術(shù)的實(shí)用標(biāo)準(zhǔn)。
解析
采用OCR識(shí)別技術(shù),可以將其應(yīng)用于銀行票據(jù)光盤(pán)縮微系統(tǒng),可以自動(dòng)提取票據(jù)要素,可減輕操作員的工作量,減少重復(fù)勞動(dòng),尤其是在與銀行事后且監(jiān)督系統(tǒng)相結(jié)合后,可以替代原先的操作人員完成事后監(jiān)督工作。由計(jì)算機(jī)自動(dòng)識(shí)別票據(jù)上的日期、帳號(hào)、金額等要素,通過(guò)銀行事后監(jiān)督系統(tǒng)與業(yè)務(wù)系統(tǒng)中的數(shù)據(jù)進(jìn)行比較,完成傳統(tǒng)的事后監(jiān)督操作;配有印章驗(yàn)證系統(tǒng)后,自動(dòng)將憑證圖像中的印章與系統(tǒng)中預(yù)留的印鑒進(jìn)行比較,完成印章的真?zhèn)巫R(shí)別。
OCR識(shí)別技術(shù)不僅具有可以自動(dòng)判斷、拆分、識(shí)別和還原各種通用型印刷體表格,在表格理解上做出了令人滿(mǎn)意的實(shí)用結(jié)果,能夠自動(dòng)分析文稿的版面布局,自動(dòng)分欄、并判斷出標(biāo)題、橫欄、圖像、表格等相應(yīng)屬性,并判定識(shí)別順序,能將識(shí)別結(jié)果還原成與掃描文稿的版面布局一致的新文本。表格自動(dòng)錄入技術(shù),可自動(dòng)識(shí)別特定表格的印刷或打印漢字、字母、數(shù)字,可識(shí)別手寫(xiě)體漢字、手寫(xiě)體字母、數(shù)字及多種手寫(xiě)符號(hào),并按表格格式輸出。提高了表格錄入效率,可節(jié)省大量人力。同時(shí)支持將表格識(shí)別直接還原成PTF、PDF、HTML等格式文檔;并可以對(duì)圖像嵌入橫排文本和豎排文本、表格文本進(jìn)行自動(dòng)排版面分析?! ±媚壳暗母咝录夹g(shù)-OCR,直接從憑證影像中提取金額、帳號(hào)等重要數(shù)據(jù),代替人的手工錄入,與條碼識(shí)別/流水識(shí)別緊密結(jié)合,實(shí)現(xiàn)建立事后副本帳、完成事后監(jiān)督的工作。OCR處理一般使用性能較好的PC機(jī),OCR處理程序一經(jīng)啟動(dòng)會(huì)自動(dòng)掃描數(shù)據(jù)庫(kù)中的憑證影像,發(fā)現(xiàn)有需OCR處理而未處理的,提取到本地進(jìn)行處理?! ?/p>
OCR手寫(xiě)體、印刷體識(shí)別技術(shù),能識(shí)別不同人寫(xiě)的千差萬(wàn)別的手寫(xiě)體漢字和數(shù)字,應(yīng)用于本系統(tǒng),識(shí)別憑證影像中儲(chǔ)戶(hù)填寫(xiě)的信息,如大寫(xiě)金額、小寫(xiě)金額、帳號(hào)、存期、日期、證件號(hào)等,可以代替手工錄入。同時(shí)被識(shí)別得出的金額還要與流水識(shí)別所得的金額進(jìn)行核對(duì),核對(duì)成功,則OCR識(shí)別成功。這樣處理是為了避免誤判?! ?/p>
經(jīng)過(guò)對(duì)銀行產(chǎn)生的實(shí)際憑證進(jìn)行的大量測(cè)試,在實(shí)際開(kāi)發(fā)過(guò)程中,根據(jù)銀行的實(shí)際需求,OCR技術(shù)在票據(jù)和表格識(shí)別能力和手寫(xiě)體自動(dòng)識(shí)別能力上不斷提升,目前處理速度可達(dá)到每分鐘60~80張票據(jù),存折識(shí)別率已經(jīng)達(dá)到了85%以上,存單、憑條識(shí)別率達(dá)到90%以上,而85%以上的識(shí)別率就能減少80%以上的數(shù)據(jù)錄入員。
在檔案領(lǐng)域OCR技術(shù)使檔案掃描成果達(dá)到了全文可識(shí)別,將檔案數(shù)字化發(fā)展提升了到了一個(gè)新的階段,是原本掃描出來(lái)的圖片變得更容易進(jìn)行檢索,為數(shù)字檔案館的數(shù)據(jù)查詢(xún)提供了技術(shù)支持,是檔案數(shù)字化發(fā)展中必不可少的一環(huán)。
以上來(lái)自百度百科哈哈哈哈哈?。?/p>
相關(guān)的工具:Tesseract
Tesseract概述:
Tesseract 是一個(gè)OCR庫(kù),目前由Google贊助(Google也是一家以O(shè)CR和機(jī)器學(xué)習(xí)技術(shù)聞名于世的公司)。Tesseract是目前公認(rèn)最優(yōu)秀、最精確的開(kāi)源OCR系統(tǒng)。
Tesseract的Windows安裝包下載地址為:http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe,下載后雙擊直接安裝即可。安裝完后,需要將Tesseract添加到系統(tǒng)變量中。在CMD中輸入tesseract-v,如顯示以下界面,則表示Tesseract安裝完成且添加到系統(tǒng)變量中。

配置完成后在命令行輸入tesseract -v,如果出現(xiàn)如下圖所示,說(shuō)明環(huán)境變量配置成功

命令使用: tesseract C://Users\lenovo\Desktop\Tesseract-OCR\233.jpg C://Users\lenovo\Desktop\Tesseract-OCR\Max.txt,則會(huì)將233.jpg中的識(shí)別文字寫(xiě)入到Max.txt一執(zhí)行報(bào)錯(cuò)???什么情況?

后來(lái)我找了一些資料來(lái)看 上面的意思就是說(shuō)不能加載'eng'語(yǔ)言包。請(qǐng)將tessdata的父文件夾路徑設(shè)置為T(mén)ESSDATA_PREFIX環(huán)境變量值,這個(gè)就是說(shuō)在環(huán)境變量中新建一個(gè)系統(tǒng)變量,變量名稱(chēng)為T(mén)ESSDATA_PREFIX,tessdata是放置語(yǔ)言包的文件夾,一般在你安裝tesseract的目錄下,即tesseract的安裝目錄就是tessdata的父目錄,把ESSDATA_PREFIX的值設(shè)置為它就沒(méi)問(wèn)題了

更改完成后重啟就沒(méi)問(wèn)題了。


規(guī)整的中文也是可以識(shí)別的哦。
命令:tesseract C://Users\lenovo\Desktop\Tesseract-OCR\libai.png C://Users\lenovo\Desktop\Tesseract-OCR\libai.txt -l chi_sim

我們開(kāi)始使用python編寫(xiě)識(shí)別小腳本了,這里我們需要一個(gè)pytesseract庫(kù)使用pip install pytesseract安裝。安裝完后,就可以使用Python調(diào)用Tesseract這里我們還需要安裝一個(gè)Python的圖片處理模塊,可以安裝pillow.
輸入以下代碼,可以實(shí)現(xiàn)同上述Tesseract命令一樣的效果:

我們的圖片里面內(nèi)容是:

運(yùn)行程序:

識(shí)別?。?/p>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python實(shí)現(xiàn)解析Bit Torrent種子文件內(nèi)容的方法
這篇文章主要介紹了Python實(shí)現(xiàn)解析Bit Torrent種子文件內(nèi)容的方法,結(jié)合實(shí)例形式分析了Python針對(duì)Torrent文件的讀取與解析相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2017-08-08
Python3自動(dòng)安裝第三方庫(kù),跟pip說(shuō)再見(jiàn)
很多朋友私信小編Python安裝第三方庫(kù)安裝技巧,在這就不一一回復(fù)大家了,今天小編給大家分享一篇教程關(guān)于Python自動(dòng)安裝第三方庫(kù)的小技巧,本文以安裝plotly為例給大家詳細(xì)講解,感興趣的朋友跟隨小編一起看看吧2021-10-10
python實(shí)現(xiàn)將json多行數(shù)據(jù)傳入到mysql中使用
這篇文章主要介紹了python實(shí)現(xiàn)將json多行數(shù)據(jù)傳入到mysql中使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
tensorflow 20:搭網(wǎng)絡(luò),導(dǎo)出模型,運(yùn)行模型的實(shí)例
這篇文章主要介紹了tensorflow 20:搭網(wǎng)絡(luò),導(dǎo)出模型,運(yùn)行模型的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05
Django中日期處理注意事項(xiàng)與自定義時(shí)間格式轉(zhuǎn)換詳解
這篇文章主要給大家介紹了關(guān)于Django中日期處理注意事項(xiàng)與自定義時(shí)間格式轉(zhuǎn)換的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-08-08
python面向?qū)ο笾?lèi)屬性和類(lèi)方法案例分析
這篇文章主要介紹了python面向?qū)ο笾?lèi)屬性和類(lèi)方法,結(jié)合案例形式分析了Python面相對(duì)象中類(lèi)屬性和類(lèi)方法的相關(guān)概念、原理與使用技巧,需要的朋友可以參考下2019-12-12
Python面向?qū)ο蟪绦蛟O(shè)計(jì)示例小結(jié)
這篇文章主要介紹了Python面向?qū)ο蟪绦蛟O(shè)計(jì),結(jié)合實(shí)例形式總結(jié)分析了Python面向?qū)ο蟪绦蛟O(shè)計(jì)中比較常見(jiàn)的類(lèi)定義、實(shí)例化、繼承、私有變量等相關(guān)使用技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-01-01
OpenCV根據(jù)面積篩選連通域?qū)W習(xí)示例
這篇文章主要為大家介紹了OpenCV根據(jù)面積篩選連通域?qū)W習(xí)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
Python中多個(gè)數(shù)組行合并及列合并的方法總結(jié)
下面小編就為大家分享一篇Python中多個(gè)數(shù)組行合并及列合并的方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04

