最近在看文字识别的实例,也查询很多文章,最后还是选定开源的引擎(tesseract3.0.1)

最开始找到的是用微软Office的一个组件实现的,个人感觉不是我想要的(要开源啊才是王道)

http://www.cnblogs.com/vipstone/archive/2011/10/08/2202397.html

后面在开源中图看到了开源项目:

http://www.oschina.net/news/40027/6-opensource-ocr-tools

找到了(tesseract )看到学是google开源的还排到第一个于是就找Demo

是有找到而但总是出了些问题,还加上自己有点晕控制台,就没有太在意所出的是什么错,再者就是自己暂时不需要于是就放下了

今天有空就再来拾起看看!

第一步:在stackoverflow 上找到了

http://stackoverflow.com/questions/15659278/tesseract-3-0-ocr-net-4-0-wrapper

有用的内容如下:

There is now a NuGet Package for the .NET wrapper of charlesw with precompiled versions for all runtimes

http://www.nuget.org/packages/Tesseract/

The project is on:

https://github.com/charlesw/tesseract

Is very important to install Visual Studio 2012 Runtimes on the client machines

http://www.microsoft.com/en-us/download/details.aspx?id=30679

于是我就去在github上下载下来,发现以前也下过,没关系再下一次就可以了

下载下来打整了几下,我机子报打不到这两个dll(msvcr120.dll,msvcp120.dll),没关系其他机子上都拷到system32 下就好了!

读取英文没有问题,那我们来读中方吧,

还是在stackoverflow下来找到

http://stackoverflow.com/questions/16581626/chinese-character-recognition-using-tesseract-ocr/16582777#16582777

You need to download chinese trained data (it will be a file like chi_sim.traineddata) and add it to your tessdata folder.

To download the file https://code.google.com/p/tesseract-ocr/downloads/detail?name=chi_sim.traineddata.gz

and use like this

Tesseract* tesseract= [[Tesseract alloc] initWithDataPath:@"tessdata" language:@"chi_sim"];

if you have any problem you can download my experiment with tessaract (with chinese language support) from https://github.com/aryansbtloe/ExperimentWithTesseract.git

I have tested this one...Hope you will find this useful.

虽然后他说的是C++中,但语言包应该是一样的,而且以前我也翻墙下过简体中文的,也也可以下他提供的github下去下。

各位我用的是Tesseract.ConsoleDemo这个项目来做测试,于是把chi_sim.traineddata文件拷到tessdata这个下面,

Program.cs中将

using (var engine = new TesseractEngine(@"./tessdata", "eng", EngineMode.Default))

改为:

using (var engine = new TesseractEngine(@"./tessdata", "chi_sim", EngineMode.Default))

运行报错了。上次实际都做到这一步了,就是舍不得多走一步,看到一个什么意思,

http://blog.csdn.net/dragoo1/article/details/7961669

简单就是说把tessdata拷贝到exe的所在目录,或者设置TESSDATA_PREFIX环境变量

在bin/debug/tessdata/看了一下,果然后没有chi_sim.traineddata

于把在vs中把这个文件改成始终复制,生成再测试,可以了!

tesseract .net 中使用历程的更多相关文章

  1. 基于Eclipse下的python图像识别菜鸟版(利用pytesseract以及tesseract)

    这是我注册博客后写的第一篇博客,希望对有相关问题的朋友有帮助. 在图像识别前,首先我们要做好准备工作. 运行环境:windows7及以上版本 运行所需软件:(有基础的可以跳过这一段)eclipse,p ...

  2. [golang][gui]Hands On GUI Application Development in Go【在Go中动手进行GUI应用程序开发】读书笔记03-拒交“智商税”,解密“GUI”运行之道

    和老外的原文好像没多大联系了,哈哈哈,反正是读书笔记,下面的内容也是我读此书中的历程,也写进来吧.不过说实话,这框架的作者还挺对我脾气的,哈哈哈. 拒交“智商税”,解密“GUI”运行之道 我很忙 项目 ...

  3. 裁剪Tessdata

    一个项目只需要tesseract traineddata 中的数字部分. 实现过程简单说就是解包,去掉多余,再打包.利用了tesseract的dawg2wordlist  /  wordlist2da ...

  4. Python开源框架

    info:更多Django信息url:https://www.oschina.net/p/djangodetail: Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC) ...

  5. PHP实战-文章发布系统学习记录

    跟随大师的步伐,一步一步向前行进,PHP学习之路中的历程. 如果图片不能正常查看请访问云笔记链接 http://note.youdao.com/share/?id=3c25d8c03ef946d9c6 ...

  6. [转载] 推荐的C++书籍以及阅读顺序

    2014-06-17 转载自 oiramario 的文章 推荐的C++书籍以及阅读顺序 当读者有一定c/c++基础 推荐的阅读顺序: level 1 从<<essential c++> ...

  7. C++进阶阅读

    推荐的阅读顺序:level 1从<<essential c++>>开始,短小精悍,可以对c++能进一步了解其特性以<<c++ primer>>作字典和课 ...

  8. 我的Android学习之旅(转)

    去年大概在七月份的时候误打误撞接触了一阵子Android,之后由于工作时间比较忙,无暇顾及,九月份的时候自己空闲的时间比较多,公司相对来说加班情况没以前严重.开启了个人的Android学习之旅,初衷是 ...

  9. 老版VC++线程池

    在一般的设计中,当需要一个线程时,就创建一个,但是当线程过多时可能会影响系统的整体效率,这个性能的下降主要体现在:当线程过多时在线程间来回切换需要花费时间,而频繁的创建和销毁线程也需要花费额外的机器指 ...

随机推荐

  1. Git学习笔记(三)

    Git提交相关内容 在Git提交时,会保存一个提交对象,该对象包括一个指向暂存区内容快照的指针,包括本次提交作者等相关附属信息,包括零个或多个指向该提交对象的父对象指针:首次提交时是没有祖先,普通提交 ...

  2. WinForm中实现HotKey

    最近在写一个游戏辅助工具,来点Win变成的总结 主要用了RegisterHotKey:UnregisterHotKey:两个winAPI 以下代码来自stackoverflow新增了一个HotKeyM ...

  3. Netty权威指南之NIO通信模型

    NIO简介:与Socket和ServerSocket类相对应,NIO提供了SocketChannel和ServerSocketChannel两种不同的套接字通道实现,这两种新通道都支持阻塞和非阻塞两种 ...

  4. Lua协程-测试3

    print("Lua 协程测试3") -- 实现消费者-生产者关系(生产一个就消费一个) count = -- 生产总数 -- 生产者 local newProductorCo = ...

  5. C语言的声明的优先级规则

    C语言的声明的优先级规则如下: A 声明从它的名字开始读取,然后按照优先级顺序依次读取 B 优先级从高到低依次是:   B.1 声明中被括号括起来的那一部分   B.2 后缀操作符[圆括号 ()表示这 ...

  6. RF采用SSHLibary库执行sudo命令,提示sudo: sorry, you must have a tty to run sudo错误的解决办法

    经了解Execute Command and Start Command两个关键字执行linux命令会新增一个shell,并且可能改变环境配置,如果要确保环境不被改变,则需采用Write和Read方法 ...

  7. SVN设置没有写log不能commit

    操作方法:在SVN的Repositories下,找到要配置的项目,在项目目录下找到hooks文件夹,在其下创建pre-commit.bat文件,把下面复制进去就可以了(无需重启,如果改动,保存bat文 ...

  8. Python生成器笔记

    Python中三大器有迭代器,生成器,装饰器,本文主要讲述生成器.主要从生成器的概念,本质,以及yield关键字的使用执行过程. 本质:生成器是一类特殊的迭代器,使用了yield关键字的函数不再是函数 ...

  9. MVC的简单初步学习(2)

    今天似乎一切是正常的,我们的课依旧在进行着,但是恍惚脑海中并没有那样的平静,不知道在想些什么?而且今天是学习MVC的初步开始,我应该认真地学习才是正确的啊.但是我并不糊涂,今天是周一,也就是刚开始上课 ...

  10. iOS 在已有项目添加CoreData

    本文转载至 http://cnbin.github.io/blog/2016/03/11/ios-zai-yi-you-xiang-mu-tian-jia-coredata/ 如果是新项目很好说,新建 ...