Tessnet2 a .NET 2.0 Open Source OCR assembly using Tesseract engine
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
Download binary here, add a reference
of the assembly Tessnet2.dll to your .NET project.Download language data definition file
here and
put it in tessdata directory. Tessdata directory and your exe must be in the
same directory.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
Download Tesseract
source code here and expand it in a directoryDownload Tessnet2 source code here and
expand it in Tesseract source code root directory (it should create dotnet sub
directory)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的更多相关文章
- 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 ...
- 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 ...
- Flume-ng-1.4.0 spooling source的方式增加了对目录的递归检测的支持
因为flume的spooldir不支持子目录文件的递归检测,并且业务需要,所以修改了源码,重新编译 代码修改参考自:http://blog.csdn.net/yangbutao/article/det ...
- 【转】OCR识别引擎tesseract使用方法——安装leptonica和libtiff
原文来自:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c4224 ...
- 开源OCR识别库-Tesseract介绍
最近在github上面看到一个开源的ocr文字识别库,感觉效果还可以,所以在这里介绍一下,这个项目的原地址在:https://github.com/tesseract-ocr/tesseract. t ...
- OCR学习及tesseract的一些测试
最近接触OCR,先收集一些资料,包括成熟软件.SDK.流行算法. 1. 一个对现有OCR软件及SDK的总结,比较全面,包括支持平台.编程语言.支持字体语言.输出格式.相关链接等 http://en.w ...
- 在.net中创建Access数据库
static void Main(string[] args) { //环境要求 //安装 access 2003, //引用com组件:Microsoft ADO Ext. 2.8 for DDL ...
- 由于OCR文件损坏造成Oracle RAC不能启动的现象和处理方法
v$cluster_interconnects 集群节点间通信使用的IP地址 错误信息 使用了公网进行连接 SQL> select * from v$cluster_interconnects; ...
- Android 4.0 源代码结构
Android源码的第一级目录结构 Android/abi (abi相关代码.ABI:application binary interface,应用程序二进制接口) Android/bioni ...
随机推荐
- Rails 5 Test Prescriptions 倒数第2章spring gem 如何让测试变快。分离rails(只有原理)
Spring speeds up development by keeping your application running in the background Rails程序自动增加:sprin ...
- thinkphp3.2验证码在服务器上显示不出来
ThinPHP3.2 验证码 在本地服务器访问可以显示,上传到服务器就不能访问了 /**** * 验证码 */ function code() { $config=array( 'fontSize'= ...
- Android 之低版本高版本实现沉浸式状态栏
沉浸式状态栏确切的说应该叫做透明状态栏.一般情况下,状态栏的底色都为黑色,而沉浸式状态栏则是把状态栏设置为透明或者半透明. 沉浸式状态栏是从android Kitkat(Android 4.4)开始出 ...
- Python小工具之消耗系统指定大小内存
#!/usr/bin/python # -*- coding: utf-8 -*- import sys import re import time def print_help(): print ' ...
- 使用Python scikit-learn 库实现神经网络算法
1:神经网络算法简介 2:Backpropagation算法详细介绍 3:非线性转化方程举例 4:自己实现神经网络算法NeuralNetwork 5:基于NeuralNetwork的XOR实例 6:基 ...
- 【Python】operator 模块简单介绍
简单介绍几个常用的函数,其他的请参考文档. operator.concat(a, b) **operator.__concat__(a, b)** 对于 a.b序列,返回 a + b(列表合并) -- ...
- python高级编程之列表推导式
1. 一个简单的例子 在Python中,如果我们想修改列表中所有元素的值,可以使用 for 循环语句来实现. 例如,将一个列表中的每个元素都替换为它的平方: >>> L = [1, ...
- ASP.NET(c#) 日期选择控件的另一种实现方法
这篇文章是在一个英文网站发现的,完全使用ASP.NET实现了日期选择的基本功能,没有使用js,原文链接http://geekswithblogs.net/plundberg/archive/2009/ ...
- 银行卡号每隔4位插入空格 (再用户填写银行卡号的时候挺有用的) IE9+
链接 输入4为数字, 再输入一个数字调试一下就能看懂了 <head lang="en"> <meta charset="UTF-8"> ...
- 使用Lucene对doc、docx、pdf、txt文档进行全文检索功能的实现
转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/76273859 本文出自[我是干勾鱼的博客] 这里讲一下使用Lucene对doc. ...