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进行相关参数的调整,都能够有所结果;最后对于结果进行相关调整。
标签:集成,roi,识别,string,ocr,exe,tesseract From: https://blog.51cto.com/jsxyhelu2017/5967935