图片文字识别工具调研
1.OCR與tesseract簡介
將圖片翻譯成文字一般被稱為光學(xué)文字識(shí)別(Optical Character Recognition,OCR)??梢詫?shí)現(xiàn)OCR 的底層庫并不多,目前很多庫都是使用共同的幾個(gè)底層OCR 庫,或者是在上面進(jìn)行定制。
??Tesseract 是一個(gè)OCR 庫,目前由Google 贊助(Google 也是一家以O(shè)CR 和機(jī)器學(xué)習(xí)技術(shù)聞名于世的公司)。Tesseract 是目前公認(rèn)最優(yōu)秀、最精確的開源OCR 系統(tǒng)。
?用Tesseract可以識(shí)別格式規(guī)范的文字,主要具有以下特點(diǎn):
? 使用一個(gè)標(biāo)準(zhǔn)字體(不包含手寫體、草書,或者十分“花哨的”字體)
? 雖然被復(fù)印或拍照,字體還是很清晰,沒有多余的痕跡或污點(diǎn)
? 排列整齊,沒有歪歪斜斜的字
? 沒有超出圖片范圍,也沒有殘缺不全,或緊緊貼在圖片的邊緣
2.tesseract安裝與使用
Tesseract的Windows安裝包下載地址為: http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe ,下載后雙擊直接安裝即可。
安裝的時(shí)候要注意,tesseract的安裝并不默認(rèn)安裝什么語言,如果自己需要簡體中文的語言包,那么就不能一直點(diǎn)next點(diǎn)到finish。如下圖,我安裝了MATH和簡體中文包。
安裝完后,需要將Tesseract添加到系統(tǒng)變量中。在CMD中輸入tesseract -v, 如顯示以下界面,則表示Tesseract安裝完成且添加到系統(tǒng)變量中。
添加系統(tǒng)變量過程:把tesseract安裝位置加入到環(huán)境變量中,我的安裝位置是“C:\Program Files (x86)\Tesseract-OCR”如下圖所示
??
?
?
添加環(huán)境變量如下圖所示
?
雙擊打開“path”,把剛才的安裝路徑加入到path中,注意,添加的時(shí)候開頭用“;”跟之前的變量隔開,結(jié)尾以“;”結(jié)束。下面是我的配置信息。
?
打開DOS命令終端,輸入:“tesseract -v”可以看到版本信息,
如下圖
?
如果報(bào)錯(cuò),估計(jì)是環(huán)境變量沒配好。
注意:我的dos命令終端打開路徑是“C:\WINDOWS\system32”,在這個(gè)路徑下安裝成功,所以使用的時(shí)候也一定在這個(gè)路徑下打開。
如果打開的是用戶名終端路徑,會(huì)報(bào)錯(cuò),我就遇到這個(gè)問題,如下圖。
Linux 用戶可以通過apt-get 安裝“$sudo apt-get tesseract-ocr”。
?
使用方法:將圖片放到E盤的figures/other文件夾下,目標(biāo):生成對(duì)應(yīng)txt文本,打開DOS輸入命令行“tesseract E://figures/other/poems.jpg E://figures/other/poems”
如圖所示
結(jié)果如下所示:
其他結(jié)果例子如下所示:
可以看到識(shí)別的情況不如剛才規(guī)范字體的好,但是也能識(shí)別圖片中的大部分字母。
?
如果是識(shí)別簡體中文,需要事先安裝簡體中文語言包,下載地址為:https://github.com/tesseract-ocr/tessdata/find/master/chi_sim.traineddata ,再講chi_sim.traineddata放在C:\Program Files (x86)\Tesseract-OCR\tessdata目錄下。(我這沒能成功)
?
3.python
?pytesseract是Tesseract關(guān)于Python的接口,可以使用pip install pytesseract安裝。安裝完后,就可以使用Python調(diào)用Tesseract了,不過,你還需要一個(gè)Python的圖片處理模塊,可以安裝pillow. 1. 用Python提取圖片中的文字,用到的工具包有PIL ,pytesseract,tesseract-ocr.
?
注意:
(1)代碼就幾行,但是庫的安裝相對(duì)麻煩一點(diǎn),首先是PIL庫安裝,有的電腦可以直接從PYCHARM庫里直接導(dǎo)入,但是大部分的電腦是安裝不了的,可以采取兩種方式一種是用pip install PIL這種方式一般比較慢,還有一種方法就是在PYCHARM庫里面直接安裝pillow-PIL安裝成功后就不會(huì)報(bào)錯(cuò)了。
然后就是pytesseract庫的安裝,在pycharm庫里面可以直接搜索到然后安裝。這兩個(gè)庫安裝完成后運(yùn)行代碼還是會(huì)報(bào)錯(cuò):‘tesseract is not installed or it's not in your path’,原因是沒有找到 Tesseract-OCR\tesseract.exe 的位置,需要先下載tesseract.exe具體安裝參考https://blog.csdn.net/e8714614luan/article/details/103974924?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
安裝完成后打開pytesseract源碼查找 tesseract_cmd = 'tesseract',修改成
紅色方框里面是剛才安裝的目錄。
然后再運(yùn)行代碼:
from PIL import Imageimport pytesseractimages=Image.open('003.jpg')print(images.size)text=pytesseract.image_to_string(images)print(text)003.jpg
提取結(jié)果
?
- 如果要提取中文文字還需安裝相關(guān)的新的庫,把下載的中文庫放在 Tesseract-OCR 安裝目錄下的 tessdata 文件夾中。
- 下載鏈接:https://pan.baidu.com/s/1GfspC5uef73B2Oa8YudBgQ
?
結(jié)果:
?
總結(jié)
以上是生活随笔為你收集整理的图片文字识别工具调研的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vins_mono重力对齐理解
- 下一篇: flash设置屏保 html,全面淘汰