集成利用tesseract.exe进行ocr
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集成利用tesseract.exe进行ocr相关的知识,希望对你有一定的参考价值。
ocr是一个宽泛的概念。市场上面ocr将一直是一个不断发展、需求强烈的方向。
我认为,从难度上区分,中文ocr难于英文ocr;手写ocr难于印刷ocr。所以两两组合,中文手写体最难(比如毛体,有一些人都识别不了);而英文(数字)印刷体ocr最简单,对于最简单的东西,我认为就可以直接使用tesseract,它本身就是集成了对英文(数字)的识别。将这个功能集成起来,甚至是研究其开源实现,将其融合起来。
下载http://uniontesting.com/thread-32030-1-1.html
如果采用命令行的方式集成,核心代码,可以达到一定的效果:
private void button1_Click(object sender, EventArgs e)
string filePath = @"tesseract.exe";
string paramstr = @"bbb3.jpg r";
System.Diagnostics.Process.Start(filePath,paramstr);
可以直接采用api的方式对该ocr进行调用,那么融合的程度就进一步提高了!并且可以结合opencv 进行一些同步并行的处理.
这方面的知识,我虽然有所积累,但是如果想要解决问题,还必须多做实际的例子。
现在看来,tesseract已经包括完整的生态体系,需要研究;而“OCRopus is really a collection of document analysis programs, not a turn-key OCR system.”更是它的衍生的东西,更需要有所调查。
那么,在现实的项目中。借鉴ocr和验证码识别的相关思路,具体的问题如何解决?
我想,可以分为这样几个部分:
首先是采用模板识别或者其他一些方法,可以确定待识别的图片的类型。对于质量不好的图片要把roi取出来;
其次是逐步精化,就是要把需要识别的区域的roi取出来,并且增强;
最后就是ocr识别,及时使用tesseract进行相关参数的调整,都能够有所结果;最后对于结果进行相关调整。
以上是关于集成利用tesseract.exe进行ocr的主要内容,如果未能解决你的问题,请参考以下文章
印刷字符识别基于matlab OCR印刷字母+数字识别含Matlab源码 1861期