pytesseract简要解析
大小:0.5 MB 人气: 2017-10-11 需要积分:1
Python语言中,pytesseract是用于验证码、字符识别的常用model。研究OCR期间,接触到这个模块。深究其源码,才明白,这个库是如此简单。
安装:
首先安装依赖:PIL、Image、tesseract-ocr,然后:
pip install pytesseract
pytesseract在官网上说了自己是个wrapper,真正干活的是tesseract-ocr,即tesseract光学字符识别引擎。所以,这个模块就是个接口。
Tesserarct识别引擎
esseract-ocr是Google在维护的一个开源项目,本体是HP实验室在1993年完成的,功能强大。(关于更多,见结尾提示。)
在Tesseract的世界里,有且只有一条命令,展示了其强大功能:
Usage:
tesseract imagename|stdin outputbase|stdout [options…] [configfile…]
举例来说,对一张需要识别的chinese.png图片:
在cmd/terminal输入:tesseract chinese.png output -l chi_sim (*式)
就可以得到如下output.txt文本:
如此简单纯粹,缺点就是单线程。
pytesseract模块
这是一个Wrapper:
Python-tesseract is a python wrapper for google’s Tesseract-OCR
所以,其底层就是Tesseract识别引擎,只是用Python语言来封装罢了。那么,封装的过程是怎样的呢?
我知道这5步中的关键方法(functions)在各位读者眼里并不是那么通俗易懂。BUT!认真的读者只要去看pytesseract模块的源码(only 202 lines)就能知道这些函数。
Anyway,请看第3步,在run_tesseract()函数“拼接好tesseract本地调用命令”。什么是本地调用命令?
还记得上面的(*式)嘛?
tesseract chinese.png output -l chi_sim
再看第4步,“执行调用命令”,就是把(*式)放在cmd/terminal里。
就这样,对于上述chinese.png,也可以得到output.txt文件了。
至此,就是为什么我说“pytesseract是这么简单的model”……
结语
我笑了…是的,只是开心而已!第一次解析Python的Model,以前pip install model’name 的时候,内心觉得官方源码一定很难,现在看倒未必!
此后,希望大家多多阅读源码,没有那么难的。
非常好我支持^.^
(0) 0%
不好我反对
(0) 0%