C#使用Tesseract组件来识别OCR验证码
下面识别OCR验证码用.NET来实现,主要使用到Tesseract组件。 .NET版本Tesseract下载地址: http://www.pixel-technology.com/freeware/tessnet2/ 另外发现这个用法非常简单,注意还需要下载语言包,我这里
下面识别OCR验证码用.NET来实现,主要使用到Tesseract组件。
.NET版本Tesseract下载地址:
http://www.pixel-technology.com/freeware/tessnet2/
另外发现这个用法非常简单,注意还需要下载语言包,我这里识别的是纯字母的,所以就用英文的语言包了。另外为了提高验证率,还可以自己进行训练,由于我的需求比较简单,我就没有做这个步骤了,直接使用英文语言包了。
关键测试代码:

InitializeComponent(); ocr = new tessnet2.Tesseract(); ocr.SetVariable("tessedit_char_whitelist", "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"); ocr.Init(Application.StartupPath @"lngeng", "eng", false); WebClient wc = new WebClient(); byte[] oimg = wc.DownloadData("some url"); // 这里我地址做了隐藏,自己修改成要识别的地址吧 Bitmap bp = new Bitmap(new MemoryStream(oimg), true); pictureBox1.Image = bp; bp = ImageProcess.RemoveGreen(bp); bp = ImageProcess.ToBW(bp); pictureBox2.Image = bp; List<tessnet2.Word> result = ocr.DoOCR(bp, Rectangle.Empty); string txt = ""; foreach (tessnet2.Word word in result) { txt = word.Text; } textBox1.Text = txt;
这里先对图像进行了简单的预处理,去除干扰,转换成二值图像。对于简单的验证码,效果还不错。
收藏文章
精彩图集
精彩文章
- 暂无记录。
热门标签
ol
404.17
分子沉积模拟
console.log
grid
linux安装mysql
[布
bak
Dialog
网址
xmlrpc
Objective-C
parents
table高级应用
php ph
陋习
定时执行任务
IFNULL函数
php PHP自
转行
批量更新
事件日志
敏感信息
java.util
逐行读取文件
blog模块
EXT4
强制下载
proftpd
Expression
日期查询
首页
精确
Can
php php中获
js验证IP
扩展名
数据表
返回NULL
php php中通过
鼠标
导入sql
crud操作
下载速度
oracle异机恢复
python3
Linux文件目录
保存图片
值交换
程序多次启动
糯米
IphoneTreeVi
自动检查代理
ext3grep
探测
远程控制
错误调试
at
回调接口
不等于号
赞助商链接
@CopyRight 2002-2008, 1SOHU.COM, Inc. All Rights Reserved QQ:1010969229