http://www.pixel-technology.com/freeware/tessnet2/

Tessnet2 a .NET 2.0 Open Source OCR assembly using Tesseract engine

Keywords: Open source, OCR, Tesseract, .NET, DOTNET, C#, VB.NET, C++/CLI

Current version : 2.04.0, 02SEP09 (see version history)

The big picture
Tesseractis a C++
open source OCR engine. Tessnet2 is .NET assembly that expose very simple methods
to do OCR.
Tessnet2 is multi threaded. It uses the engine the same way Tesseract.exe does.
Tessdll uses another method (no thresholding).

License
Tessnet2 is under Apache 2 license (like tesseract), meaning you can use it like
you want, included in commercial products. You can read full license info in
source file.

Quick Tessnet2 usage

  1. Download binary here, add a reference
    of the assembly Tessnet2.dll to your .NET project.

  2. Download language data definition file
    here and
    put it in tessdata directory. Tessdata directory and your exe must be in the
    same directory.

  3. Look at the Program.cs sample

Note: Tessnet2.dll needs Visual C++ 2008 Runtime. When deploying
your application be sure to install C++ runtime (x86,
x64)

Tessnet2 usage

Bitmap
image = new
Bitmap("eurotext.tif");
tessnet2.Tesseract
ocr =
new tessnet2.Tesseract();
ocr.SetVariable("tessedit_char_whitelist",
"0123456789");
// If digit only
ocr.Init(@"c:\temp", "fra",
false);
// To use correct tessdata
List<tessnet2.Word>
result = ocr.DoOCR(image, Rectangle.Empty);
foreach (tessnet2.Word
word in result)
    Console.WriteLine("{0}
: {1}", word.Confidence, word.Text);

Tessnet2 source code and recompiling

  1. Download Tesseract
    source code here
    and expand it in a directory

  2. Download Tessnet2 source code here and
    expand it in Tesseract source code root directory (it should create dotnet sub
    directory)

  3. Open the project solution tessnet2.sln. It's a Visual
    Studio 2008 C++/CLI project

Memory leak

Tesseract C++ source code is full of memory leak. Using
tessnet2 assembly several time will cause memory overflow. This is not tessnet2
leak, this is tesseract leak and I spent two days in tesseract source code
trying to improve this with no success.
See
what I think about this.

Tessnet2 demo
In the Tessnet2 source code you have two C# demo project. TesseractOCR is a multi-tread
WinForm demo with a progression bar. TesseractConsole is a console demo.


The confidence score is between braquets. < 160 mean not bad

Version History

07JUN08: First release on Tesserect
2.03

10JUN08: Version 2.03.1. Change Confidence
behavior, now it's calculated from each word letter and not from the first letter.
Type change from byte to double. 0 = perfect, 100 = reject

13JUN08 : Version 2.03.2

After 3 days in Tesseract code (urgh), here is Tessnet2 version
2.03.2
The corrections deals with the following problems
* Confidence was not very useful, the value was strange. This has been corrected,
setting the variable tessedit_write_ratings=true. After many test I found this mode
is the best for confidence accuracy. Value range from 0 (perfect) to 255 (reject)
. When value goes over 160 this really mean the OCR was bad.
* Calling DoOCR twice was not giving the same result. It was, as expected, a problem
with global variables. The problem is almost fixed, sometime it doesn’t work but
right now I can’t find what is not correctly reinitialized.

Tessnet2 a .NET 2.0 Open Source OCR assembly using Tesseract engine的更多相关文章

  1. windows 10 上源码编译boost 1.66.0 | compile boost 1.66.0 from source on windows 10

    本文首发于个人博客https://kezunlin.me/post/854071ac/,欢迎阅读! compile boost 1.66.0 from source on windows 10 Ser ...

  2. Ubuntu 16.04源码编译boost库 编写CMakeLists.txt | compile boost 1.66.0 from source on ubuntu 16.04

    本文首发于个人博客https://kezunlin.me/post/d5d4a460/,欢迎阅读! compile boost 1.66.0 from source on ubuntu 16.04 G ...

  3. Flume-ng-1.4.0 spooling source的方式增加了对目录的递归检测的支持

    因为flume的spooldir不支持子目录文件的递归检测,并且业务需要,所以修改了源码,重新编译 代码修改参考自:http://blog.csdn.net/yangbutao/article/det ...

  4. 【转】OCR识别引擎tesseract使用方法——安装leptonica和libtiff

    原文来自:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c4224 ...

  5. 开源OCR识别库-Tesseract介绍

    最近在github上面看到一个开源的ocr文字识别库,感觉效果还可以,所以在这里介绍一下,这个项目的原地址在:https://github.com/tesseract-ocr/tesseract. t ...

  6. OCR学习及tesseract的一些测试

    最近接触OCR,先收集一些资料,包括成熟软件.SDK.流行算法. 1. 一个对现有OCR软件及SDK的总结,比较全面,包括支持平台.编程语言.支持字体语言.输出格式.相关链接等 http://en.w ...

  7. 在.net中创建Access数据库

    static void Main(string[] args) { //环境要求 //安装 access 2003, //引用com组件:Microsoft ADO Ext. 2.8 for DDL ...

  8. 由于OCR文件损坏造成Oracle RAC不能启动的现象和处理方法

    v$cluster_interconnects 集群节点间通信使用的IP地址 错误信息 使用了公网进行连接 SQL> select * from v$cluster_interconnects; ...

  9. Android 4.0 源代码结构

    Android源码的第一级目录结构   Android/abi (abi相关代码.ABI:application binary interface,应用程序二进制接口)   Android/bioni ...

随机推荐

  1. poj3734矩阵快速幂

    挑战上面的题目,感觉脑洞很大 分别找红蓝个数全为偶,全为奇,一奇一偶的个数ai,bi,ci 转移矩阵是| 2 1 0 |,是一个对称矩阵(会不会有什么联系.) | 2 2 2 | | 0 1 2 | ...

  2. 007PHP文件处理—— 判断文件与操作文件fopen fread fclose is_executable is_readable is_writeable

    <?php /** * 判断文件与操作文件fopen fread fclose * is_executable is_readable is_writeable */ //判断一个文件是不是一个 ...

  3. Linux安装MySQL遇到的问题

    安装: https://www.cnblogs.com/fnlingnzb-learner/p/5830622.html https://www.cnblogs.com/xinjing-jingxin ...

  4. cvs的规范以及介绍(转)

    原文链接:http://blog.csdn.net/zlzlei/article/details/9236403 1. CSV的全称是叫Comma Separated Value 2. CSV的MIM ...

  5. Linux:安装Ubuntu时出现“客户机操作新系统已禁用CPU,请关闭或重置虚拟机”

    安装Ubuntu时出现“客户机操作新系统已禁用CPU,请关闭或重置虚拟机“ 解决 在vmware的虚拟机的配置文件中找到xxxx.vmx的文件 用记事本打开 加入 cpuid..eax = " ...

  6. mysql 多条语句合并查询

    select count(*) from matches where StartTime > 1519315200 and endtime < 1519401600 and matchty ...

  7. I.MX6 eMMC 中启动U-boot存放的首地址

    /************************************************************************************ * I.MX6 eMMC 中 ...

  8. 20145237《网络攻防》Web基础

    基础问题回答 什么是表单: 表单是一个包含表单元素的区域.表单元素是允许用户在表单中输入信息的元素.表单在网页中主要负责数据采集功能. 浏览器可以解析运行什么语言: 超文本标记语言:HTML: 可扩展 ...

  9. v4l2框架函数调用关系

    所有的设备节点和子设备节点都是通过__video_register_device()注册的 1.对于video设备节点: 用户空间ioctl(VIDIOC_S_FMT)---> v4l2_fop ...

  10. Oracle单表去重复(二)

    Oracle单表去重 去重有两层含义,一:是记录完全一样.二:是符合一定条件的认为是重复. 根据表的数量,去重可划分为:单表去重和多表关联去重.   对于去重,一般最容易想到的是用distinct,而 ...