ocr是一个宽泛的概念。市场上面ocr将一直是一个不断发展、需求强烈的方向。

我认为,从难度上区分,中文ocr难于英文ocr;手写ocr难于印刷ocr。所以两两组合,中文手写体最难(比如毛体,有一些人都识别不了);而英文(数字)印刷体ocr最简单,对于最简单的东西,我认为就可以直接使用tesseract,它本身就是集成了对英文(数字)的识别。将这个功能集成起来,甚至是研究其开源实现,将其融合起来。

下载http://uniontesting.com/thread-32030-1-1.html

比较详细的介绍来自于:http://www.cnblogs.com/brooks-dotnet/archive/2010/10/05/1844203.html

如果采用命令行的方式集成,核心代码,可以达到一定的效果:

 private void button1_Click(object sender, EventArgs e)
{
string filePath = @"tesseract.exe";
string paramstr = @"bbb3.jpg r";
System.Diagnostics.Process.Start(filePath,paramstr); }

通过 http://blog.csdn.net/fengbingchun/article/details/8493877可以了解到,可以直接采用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的更多相关文章

  1. 利用certutil.exe实现在批处理(bat)中嵌入可执行文件或者各种媒体、图片之类二进制文件的简单方法!

    实际上利用certutil.exe 把二进制文件(包括各种文件,exe可执行程序,图片,声音,mp3) 经过base64编码为文本,可以实现把这些文件嵌入到批处理代码中. 有什么用?: 举个例子,批处 ...

  2. 解析利用wsdl.exe生成webservice代理类的详解

    利用wsdl.exe生成webservice代理类:根据提供的wsdl生成webservice代理类1.开始->程序->Visual Studio 2005 命令提示2.输入如下红色标记部 ...

  3. tesseract 4.0 ocr图像识别利器,可识别文字。图片越高清越准确

    //总地址 https://github.com/tesseract-ocr/tesseract/wiki //windows exe tesseract 4.0下载: https://github. ...

  4. 教你如何利用php.exe运行php文件

    教你如何利用php.exe运行php文件 一.总结 一句话总结:就是使用的php.exe,和java中的javac一样,都是有exe,然后有了对应命令,比如php.exe,然后就可以用php命令. 1 ...

  5. 基于Tesseract组件的OCR识别

    基于Tesseract组件的OCR识别 背景以及介绍 欲研究C#端如何进行图像的基本OCR识别,找到一款开源的OCR识别组件.该组件当前已经已经升级到了4.0版本.和传统的版本(3.x)比,4.0时代 ...

  6. Android开发如何轻松实现基于Tesseract的Android OCR应用程序

    介绍 此应用程序使用Tesseract 3的Tesseract OCR引擎,该引擎通过识别字符模式( https://github.com/tesseract-ocr/tesseract )来工作. ...

  7. [AIR] 利用SnapShot.exe实现QQ截屏功能

    主类(可作文档类): package { import flash.display.Bitmap; import flash.display.Sprite; import flash.events.E ...

  8. 双系统下利用MbrFix.exe卸载LINUX系统

    前言:  不少同学笔记本都装的有双系统,一般都是LIUNX和WINDOWS的两个系统(由于以前对电脑各种无知)装了双系统,再次,小编就不在阐述双系统地各种不便,再次就强调一下,假若要卸载LINUX的话 ...

  9. 如何用Tesseract做日文OCR(c#实现)

    首先做一下背景介绍,Tesseract是一个开源的OCR组件,主要针对的是打印体的文字识别,对手写的文字识别能力较差,支持多国语言(中文.英文.日文.韩文等).是开源世界里最强的一款OCR组件.当然和 ...

随机推荐

  1. UVALive 3938 - "Ray, Pass me the dishes!" - [最大连续子列和+线段树]

    题目链接:https://cn.vjudge.net/problem/UVALive-3938 参考刘汝佳书上说的: 题意: 给出一个长度为n的序列, 再给出m个询问, 每个询问是在序列 $[a,b] ...

  2. POJ 1273 - Drainage Ditches - [最大流模板题] - [EK算法模板][Dinic算法模板 - 邻接表型]

    题目链接:http://poj.org/problem?id=1273 Time Limit: 1000MS Memory Limit: 10000K Description Every time i ...

  3. dialog弹层背景overlayer实现的方式

    1 增加一个层<div class="dialogLayer"></div>, 要不就利用伪元素 ::before 2 利用box-shadow: 0 0 ...

  4. html+css小总结

    html+css小总结 1.块级元素 <div> <h1> <hr /> <p> <pre> <ol> <ul> & ...

  5. eclipse copy web project后修改context root

    1.项目-->右键-->properties

  6. LeetCode-104.Maxinum Depth of Binary Tree

    Given a binary tree, find its maximum depth.The maximum depth is the number of nodes along the longe ...

  7. linux基础(2)-基础命令和基础特性

    基础命令 命令历史 命令历史的管理 登陆 shell 时,会读取命令历史文件中记录下的命令: ~/.bash_history . 登陆进 shell 后,新执行的命令只会记录在缓存中,这些命令会在用户 ...

  8. storm并发机制,通信机制,任务提交

    一.storm的并发 (1)Workers(JVMs):在一个物理节点上可以运行一个或多个独立的JVM进程.一个Topology可以包含一个或多个worker(并行的跑在不同的物理机上),所以work ...

  9. AngularJS 事件广播与接收 $emit $broadcast $on

    AngularJS中的作用域scope有一个非常有层次和嵌套分明的结构. 其中它们都有一个主要的$rootScope(也就说对应的Angular应用或者ng-app),然后其他所有的作用域部分都是继承 ...

  10. [转]一步一步玩控件:自定义TabControl——从山寨Safari开始

    作者:野比 (conmajia@gmail.com) 时间:May, 2012 封面图片为野比原创,请勿未经允许私自引用 #1-1 嗯,各位,又是我,生物钟颠倒的家伙. 今天我要山寨的是大名鼎鼎的Ap ...