tesseract .net 中使用历程

最近在看文字识别的实例,也查询很多文章,最后还是选定开源的引擎(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++中,但语言包应该是一样的,而且以前我也FQ下过简体中文的,也也可以下他提供的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中把这个文件改成始终复制,生成再测试,可以了!

时间: 2024-12-14 04:44:30

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

Tesseract-OCR 字符识别---样本训练

转自:http://blog.csdn.net/feihu521a/article/details/8433077 Tesseract是一个开源的OCR(Optical Character Recognition,光学字符识别)引擎,可以识别多种格式的图像文件并将其转换成文本,目前已支持60多种语言(包括中文). Tesseract最初由HP公司开发,后来由Google维护,目前发布在Googel Project上.地址为http://code.google.com/p/tesseract-oc

裁剪Tessdata

一个项目只需要tesseract traineddata 中的数字部分. 实现过程简单说就是解包,去掉多余,再打包.利用了tesseract的dawg2wordlist  /  wordlist2dawg 和 combine_tessdata 这三个命令. 首先解包: 这里需要用到Tesseract安装包,而不是源码.在Tesseact-OCR文件夹下运行 combine_tessdata -u tessdata/eng.traineddata d:/temp/eng. 得到一堆零件: 看到最大

interface理解一

很高兴能和大家一起来分享一下,最近我对interface的理解,这次的感悟主要来源于在编程实践中interface的学习与运用过程,最后我们会将Interfac与日常生活工作中交流相结合. 以前上课听老师讲过面向接口编程这个概念,那时只是有点印象,懵懵懂懂的,在不断的编程实践中,最后终于对它有个深刻的理解.我为什么要讲这件事呢?我只是觉得<思考的艺术>中有句话说得很有道理,大概意思是讲,当你遇到不懂的东西的时候,不妨让它在脑子里发酵发酵,等时机差不多的时候你自然就理解了,interface可以

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

2014-06-17 转载自 oiramario 的文章 推荐的C++书籍以及阅读顺序 当读者有一定c/c++基础 推荐的阅读顺序: level 1 从<<essential c++>>开始,短小精悍,可以对c++能进一步了解其特性 以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完level 2 然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻 接着是<&

【识别码】使用(ImageMagick+tesseract-ocr)实现图像验证码识别实例

最近在搞一个无人值守系统时,需要能自动登录,在登录时需要输入验证码,所以研究了验证码识别技术,否则我这个无人值守系统的作用就没有了.目前只测试了字母和数字的识别,准确率还是可以的,呵呵,已经够我自已用了~~,至于中文的识别可以参考我上篇文章:利用开源程序(ImageMagick+tesseract-ocr)实现图像验证码识别. 验证码识别率如下图:(准确率还可以吧) 好吧,切入正题,赶快上架源码吧~~,不足之处请多多包涵 注意:在使用验证码识别类之前,一.请先安装好ImageMagick,二.需

C++进阶书籍(转)

推荐的阅读顺序:level 1从<<essential c++>>开始,短小精悍,可以对c++能进一步了解其特性以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完 level 2然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott M

C++进阶阅读

推荐的阅读顺序:level 1从<<essential c++>>开始,短小精悍,可以对c++能进一步了解其特性以<<c++ primer>>作字典和课外读物,因为太厚不可能一口气看完 level 2然后从<<effective c++>>开始转职,这是圣经,请遵守10诫,要经常看,没事就拿来翻翻接着是<<exceptional c++>>,个人认为Herb Sutter主席大人的语言表达能力不及Scott M

Android 发展历史

在如今日新月异的今天,高科技不断涌现,信息量爆炸的时代,我们庆幸生活在这样一个时代,同样我们不得不接受科技给我们带来的一系列改变.在生活中,工作中有着一系列的产品,它们有着自己的使命,每一种计算机语言产生都是为了更好的解决人类发展中的历程.就像人类一样有出生,孩童,少年,青年,壮年,老年等不同的时期.今天我们来聊一下Android(安卓)的出生与发展. Android 的出生:Android系统一开始并不是由谷歌研发出来了,Android系统原来的公司名字就叫做Android.AndyRubin

转载:PostgreSQL的系统函数分析记录

转载来自:http://www.codeweblog.com/postgresql%E7%9A%84%E7%B3%BB%E7%BB%9F%E5%87%BD%E6%95 PostgreSQL数据库中有许多内部函数,这次对系统表pg_proc以及函数代码进行分析记录(这里是针对9.3进行介绍的). 一.数据库系统表pg_proc 数据库中所有内部函数信息都存储在系统表pg_proc. 内部函数都是在编译之前写好并存储在pg_proc.h文件中. 下面来看一下pg_proc的表结构,首先是看源码中的结