如何使用Python進(jìn)行OCR識(shí)別圖片中的文字
朋友需要一個(gè)工具,將圖片中的文字提取出來(lái)。我?guī)退诰W(wǎng)上找了一些OCR的應(yīng)用,都不好用。所以準(zhǔn)備自己研究,寫一個(gè)Web APP供他使用。
OCR1,全稱Optical character recognition,或者optical character reader,中文譯名叫做光學(xué)文字識(shí)別。它是把圖像文件中的手寫文本,打印文本轉(zhuǎn)換為機(jī)器編碼文本的一種方法。
OCR技術(shù)廣泛用于識(shí)別打印紙張中的文字?jǐn)?shù)據(jù) -- 比如護(hù)照,支票,銀行聲明,收據(jù),統(tǒng)計(jì)表單,郵件等。OCR的早期版本,需要對(duì)圖片中的每個(gè)文字都進(jìn)行訓(xùn)練,一次只能作用于一種字體。高級(jí)的版本增加了很大的識(shí)別率,可以同時(shí)識(shí)別現(xiàn)在很多流行的字體,支持不同種類格式的圖片文件。一些系統(tǒng)可以生成接近于原來(lái)圖片格式的輸出,包括圖片,排版,以及其它非文本組件,這也叫做版面還原。
工具
Tesseract
現(xiàn)在最出名,最常用的OCR就是谷歌的tesseract OCR engine2。最新的版本是Tesseract4。Tesseract的主要開發(fā)者是Ray Smith3.
Tesseract支持unicode(UTF-8),安裝后即可識(shí)別超過(guò)100種語(yǔ)言。
Tesseract支持不同的輸出可是:普通文本,hOCR(html),PDF,TSV,invisible-text-only PDF。在master分支,還試驗(yàn)性地支持ALTO(XML)格式。
請(qǐng)記住,在大多數(shù)情況下,為了獲得更好的OCR結(jié)果,你需要為提供給Tesseract的圖片提升質(zhì)量4.
Tesseract可以通過(guò)訓(xùn)練來(lái)識(shí)別其它語(yǔ)言和其它字體5.
另外,有很多第三方的Tesseract GUI應(yīng)用??梢灾苯酉螺d使用6。
pytesseract
Python-tesseract7(pytesseract)是Google Tesseract ORC引擎的封裝。首次commit的2014年。用這個(gè)庫(kù),可以很方便地編寫腳本,可以用它來(lái)識(shí)別所有可以由PIL識(shí)別的圖片格式,包括jpeg, png, gif, bmp, tiff等, 而tesseract-orc本來(lái)只支持tiff和bmp兩種格式。
如果在腳本中使用,識(shí)別的文本可以輸出為Python字符串,而不是直接輸出到文件中。
另外,這個(gè)代碼庫(kù)只有一個(gè)文件,400行代碼。如果有任何疑問(wèn),可以直接翻看源代碼。
tesserocr
tesserocr8也是一個(gè)TesseractOCR的封裝庫(kù)。它的首次commit是2015年。
這個(gè)庫(kù)相對(duì)于pytesseract的優(yōu)勢(shì)在于9,這個(gè)庫(kù)是使用Cython來(lái)直接調(diào)用Tesseract的C++ API。使用它和threading模塊來(lái)處理圖片,可以釋放GIL,達(dá)到正常的并發(fā)執(zhí)行。
2.Github: tesseract OCR engine
3.Tesseract作者 Ray Smith,美國(guó)計(jì)算機(jī)科學(xué)家,計(jì)算機(jī)圖形學(xué)的先驅(qū). 他的中文名字叫做匠白光. ↩
9.Hacknews: 關(guān)于pytesseract, tesserocr的區(qū)別
總結(jié)
以上所述是小編給大家介紹的如何使用Python進(jìn)行OCR識(shí)別圖片中的文字,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- python 識(shí)別圖片中的文字信息方法
- Python圖像處理之識(shí)別圖像中的文字(實(shí)例講解)
- python實(shí)現(xiàn)簡(jiǎn)單的文字識(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
- Python圖片文字識(shí)別與提取實(shí)戰(zhàn)記錄
相關(guān)文章
使用Filter過(guò)濾python中的日志輸出的實(shí)現(xiàn)方法
這篇文章主要介紹了使用Filter過(guò)濾python中的日志輸出,本文給大家分享幾種方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07解決pycharm 遠(yuǎn)程調(diào)試 上傳 helpers 卡住的問(wèn)題
今天小編就為大家分享一篇解決pycharm 遠(yuǎn)程調(diào)試 上傳 helpers 卡住的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06python用for循環(huán)求和的方法總結(jié)
在本篇文章里小編給各位分享了關(guān)于python用for循環(huán)求和的方法以及相關(guān)實(shí)例代碼,需要的朋友們參考學(xué)習(xí)下。2019-07-07pydev debugger: process 10341 is co
這篇文章主要介紹了pydev debugger: process 10341 is connecting無(wú)法debu的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04python+selenium打印當(dāng)前頁(yè)面的titl和url方法
今天小編就為大家分享一篇python+selenium打印當(dāng)前頁(yè)面的titl和url方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06Pytorch訓(xùn)練模型得到輸出后計(jì)算F1-Score 和AUC的操作
這篇文章主要介紹了Pytorch訓(xùn)練模型得到輸出后計(jì)算F1-Score 和AUC的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05Python字符串通過(guò)''+''和join函數(shù)拼接新字符串的性能測(cè)試比較
今天小編就為大家分享一篇關(guān)于Python字符串通過(guò)'+'和join函數(shù)拼接新字符串的性能測(cè)試比較,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03python網(wǎng)絡(luò)編程調(diào)用recv函數(shù)完整接收數(shù)據(jù)的三種方法
本文主要介紹了python網(wǎng)絡(luò)編程調(diào)用recv函數(shù)完整接收數(shù)據(jù)的三種方法。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-03-03