C#使用Tesseract OCR 解析验证码

C# Tesseract OCR 文字识别技术 Tesseract的主要功能是识别图像中的文字,并将其转换成机器可读的文本内容。Tesseract算法的基础是使用训练好的模型来识别字符,并通过上下文和语言模型来提高识别准确性。Tesseract是支持多种语言的识别,需要下载并安装相应语言的训练数据文件,这些文件可以在Tesseract的GitHub页面的essdata目录中找到。Tesseract是一个开源文本识别 (OCR)引擎,是目前公认最优秀、最精确的开源OCR系统,用于识别图片中的文字并将其转换为可编辑的文本。1.安装Nuget包。 阅读详情

原文地址:http://www.cnblogs.com/ivanyb/archive/2011/11/25/2263043.html

之前我在<<C#简单数字验证码解析>>一文中介绍了用C#识别简单不变形数字验证码,但是对于识别变形的image 或生成位置变化比较频繁的image 验证码的准确率却不高。

下面介绍一个开源的OCR引擎Tesseract2。值得庆幸的是虽然是开源的但是它的识别率较高,并不比其他引擎差劲。网上介绍Tessnet2也是当时时间排名第三的识别引擎,只是后来慢慢不维护了,目前是Google在维护,大家都知道Google 在搞电子图书馆,每天都有不同类目的书被扫描成电子版。所以有G老大维护,识别率差不到哪里去。呵呵。。别鄙视我。。。

Tessnet2 是用vc ++ 开发的,其中是生成Tessnet2.dll ,我们可以通过.net 来调用内部具体类库实现识别。

Tessnet2的使用:

1、点击http://files.cnblogs.com/zhuxiangyu/tessnet2_32.rar链接下载Tessnet2.dll ,

   Tessnet2是支持多国语的。语言包下载链接:http://code.google.com/p/tesseract-ocr/downloads/list

2、将Tessnet2.dll 添加到vs 引用中,和添加.net程序集一样。

3、用Tessnet2进行识别

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
WebRequest request = WebRequest.Create( "http://sz.2zf.cn/js/code2.asp" );
             WebResponse response = request.GetResponse();
             Stream st = response.GetResponseStream();
             Bitmap bitmap = (Bitmap)Bitmap.FromStream(st);
  UnCodebase ud = new  UnCodebase(bitmap );
             bitmap = ud.GrayByPixels();
             ud.ClearNoise(128, 2);
 
             pictureBox1.Image = bitmap ;
 
tessnet2.Tesseract ocr = new  tessnet2.Tesseract(); //声明一个OCR类
             ocr.SetVariable( "tessedit_char_whitelist" , "0123456789" ); //设置识别变量,当前只能识别数字。
             ocr.Init(Application.StartupPath + @"\\tmpe" , "eng" , true ); //应用当前语言包。注,Tessnet2是支持多国语的。语言包下载链接:http://code.google.com/p/tesseract-ocr/downloads/list
             List<tessnet2.Word> result = ocr.DoOCR(bitmap , Rectangle.Empty); //执行识别操作
             string  code = result[0].Text;
             textBox1.Text = code;

 

 

识别效果:

image

 

代码下载:CSharp简单数字验证码解析.rar

人生无处不PK

C# .NET6 TesseractOCR 图片文字识别 在你的项目中的tessdata-main文件夹找到这几个文件,并右键->属性设置为【如果较新则复制】有几个需要用到的模型,需要生成的时候复制到输出目录中,在项目中设置即可。TesseractOCR兼容 x86 与 x64。附 :ImageUtils.RegionCropping()源码。Visual Studio 2022 社区版。下载完成后解压在你的项目中,如图所示。从官方项目中获取模型数据, 网址为。 阅读详情

相关推荐

使用 Tesseract 在 C# 中进行光学字符识别(OCR)

你可以根据需要对 Tesseract 进行自定义配置,例如设置识别的分辨率、识别模式等。// 只识别数字// 设置自定义变量本文只讲述了简单的使用方法,未涉及字库训练,识别的准确率与训练的字库有关。

仰望星空的博客 4730

C#使用Tesseract进行Ocr识别

C#使用Tesseract进行Ocr识别

weixin_46616558的博客 6711

C#环境下Tesseract OCR完整实例与验证码识别训练教程

若需将tessdata置于其他位置(如外部配置路径),可在初始化时传入绝对路径:// 正常处理在实际OCR应用场景中,尤其是涉及验证码识别、特殊字体或非标准字符集时,Tesseract默认提供的语言模型往往难以满足高精度识别的需求。此时,依赖通用预训练模型已无法应对复杂挑战,必须通过自定义字库训练来构建专用的模型文件。本章节将系统性地阐述如何从零开始搭建一套完整的Tesseract自定义训练体系,并深入剖析各环节的技术细节与优化策略。

weixin_36303807的博客 1934

使用C#版Tesseract库

上一篇介绍了Tesseract库的使用(OCR库Tesseract初探),文末提到了Tesseract是用c/c++开发的,也有C#的开源版本,本篇介绍一下如何使用C#版的Tesseract。 C#版本源码下载地址:https://github.com/charlesw/tesseract 其实在vs中可以直接用NuGet工具进行下载: 打开nuget,搜索tesseract,点安装即可。 ...

weixin_30634661的博客 4708

C#中Tesseract-OCR的使用,可识别中英日韩所有语言

使用详见我的博客:https://blog.csdn.net/HorseRoll/article/details/83310677

C#调用Tesseract3.0.2识别验证码所需要的组件

C#调用Tesseract3.0.2识别验证码所需要的组件,包括引用的一些DLL,以及字符识别包

基于STM32F1的IIC自动寻址工具:彻底解决I2C设备地址调试难题

I2C总线作为嵌入式系统中最常用的低速通信协议,设备寻址是其稳定运行的关键。由于7位地址与8位地址换算、硬件引脚配置差异等问题,开发者常因设备地址错误而陷入调试困境。基于应答机制的地址扫描原理,可以高效遍历总线上的所有可用地址,快速定位在线设备。本文介绍基于STM32F1的IIC自动寻址工具实现,通过软件模拟I2C时序,自动扫描0x01~0x7F地址范围,一键识别OLED、温湿度传感器、EEPROM等常见设备。该工具能有效排查地址冲突、验证硬件连接,是嵌入式调试中实用的基础能力,也为构建更复杂的总线分析工具

weixin_33912453的博客 287

tesseract-OCR5.0编译好的全部文件.rar

tesseract-OCR5.0编译好的全部文件’包括bin‘cmake’lib‘include文件夹。这个里面要调用的dll太多了,没有C#版的tesseract-OCR4.1.1好用,只要调用3个dll就可以了,所以我现在没有用这个,用的C#版的。

Tesseract OCR 页面分割模式解析

对于刚接触 OCR(光学字符识别)的初学者来说,Tesseract 是一个强大但配置复杂的工具。其中最令人困惑的概念之一就是——它决定了 Tesseract 如何理解图像中的文本布局。本文将以通俗易懂的方式,带您掌握这 14 种模式的核心原理和实战技巧。

netcy的专栏 787

告别网络卡顿!保姆级教程:用国内镜像源5分钟搞定ESP32开发环境(Arduino IDE)

本文提供了一份保姆级教程,教你如何利用国内镜像源在5分钟内快速搭建ESP32开发环境(Arduino IDE),告别网络卡顿问题。教程详细介绍了镜像源配置、开发板安装、测试程序烧录等步骤,并包含与巴法云对接的实战案例,帮助开发者高效完成物联网项目。

weixin_42536058的博客 589

ZED2双目相机运行VINS-FUSION初试

基于ZED2运行VINS-MONO的经验,在运行VINS-FUSION前有几点tips想跟大家分享,应该能在运行的过程中避免一些踩坑吧。 TIPs 1)关于zed2标定 开始使用Kalibr进行相机单目/双目及联合标定,虽然重投影误差最高也就5个像素,但实际使用效果却并不好,故建议大家相机内参还是从ZED2相机发布出的topic获取或可尝试/usr/local/zed/settings文件下的参数文档 另,启动ZED2.launch的时候,会有一个相机(一般是左目)和IMU的轴系转换关系Camera-IMU

xiaojinger_123的博客 5355
上一篇: OCR系列文章
下一篇: C#简单数字验证码解析
ArvinStudy
博客等级 码龄15年 83粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值