pytesseract簡要解析
大小:0.5 MB 人氣: 2017-10-11 需要積分:1
推薦 + 挑錯(cuò) + 收藏(0) + 用戶評(píng)論(0)
標(biāo)簽:python(82776)pytesseract(2303)
概要Python語言中,pytesseract是用于驗(yàn)證碼、字符識(shí)別的常用model。研究OCR期間,接觸到這個(gè)模塊。深究其源碼,才明白,這個(gè)庫是如此簡單。
安裝:
首先安裝依賴:PIL、Image、tesseract-ocr,然后:
pip install pytesseract
pytesseract在官網(wǎng)上說了自己是個(gè)wrapper,真正干活的是tesseract-ocr,即tesseract光學(xué)字符識(shí)別引擎。所以,這個(gè)模塊就是個(gè)接口。
Tesserarct識(shí)別引擎
esseract-ocr是Google在維護(hù)的一個(gè)開源項(xiàng)目,本體是HP實(shí)驗(yàn)室在1993年完成的,功能強(qiáng)大。(關(guān)于更多,見結(jié)尾提示。)
在Tesseract的世界里,有且只有一條命令,展示了其強(qiáng)大功能:
Usage:
tesseract imagename|stdin outputbase|stdout [options…] [configfile…]
舉例來說,對(duì)一張需要識(shí)別的chinese.png圖片:
在cmd/terminal輸入:tesseract chinese.png output -l chi_sim (*式)
就可以得到如下output.txt文本:
如此簡單純粹,缺點(diǎn)就是單線程。
pytesseract模塊
這是一個(gè)Wrapper:
Python-tesseract is a python wrapper for google’s Tesseract-OCR
所以,其底層就是Tesseract識(shí)別引擎,只是用Python語言來封裝罷了。那么,封裝的過程是怎樣的呢?
我知道這5步中的關(guān)鍵方法(functions)在各位讀者眼里并不是那么通俗易懂。BUT!認(rèn)真的讀者只要去看pytesseract模塊的源碼(only 202 lines)就能知道這些函數(shù)。
Anyway,請(qǐng)看第3步,在run_tesseract()函數(shù)“拼接好tesseract本地調(diào)用命令”。什么是本地調(diào)用命令?
還記得上面的(*式)嘛?
tesseract chinese.png output -l chi_sim
再看第4步,“執(zhí)行調(diào)用命令”,就是把(*式)放在cmd/terminal里。
就這樣,對(duì)于上述chinese.png,也可以得到output.txt文件了。
至此,就是為什么我說“pytesseract是這么簡單的model”……
結(jié)語
我笑了…是的,只是開心而已!第一次解析Python的Model,以前pip install model’name 的時(shí)候,內(nèi)心覺得官方源碼一定很難,現(xiàn)在看倒未必!
此后,希望大家多多閱讀源碼,沒有那么難的。
?
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
下載地址
pytesseract簡要解析下載
相關(guān)電子資料下載
- 如何使用Rust創(chuàng)建一個(gè)基于ChatGPT的RAG助手 43
- Rust語言為什么這么卷? 21
- HPC與AI:完美融合 302
- 全國產(chǎn)EtherCAT運(yùn)動(dòng)控制邊緣控制器(五):IO配置與回零運(yùn)動(dòng)的Python+Qt開發(fā) 109
- 開源LLEMMA發(fā)布:超越未公開的頂尖模型,可直接應(yīng)用于工具和定理證明 84
- SymPy:四行代碼秒解微積分 84
- Python 中的5種隱藏技巧 105
- Ciphey 的實(shí)戰(zhàn)使用教程 83
- 怎么用Python構(gòu)建一個(gè)自動(dòng)發(fā)送郵件的腳本 86
- 如何通過阿里云日志服務(wù)搭建一套通過Python上傳日志的監(jiān)控服務(wù) 104