C# 识别图片验证码
最近有需求需要用C#识别图片验证码,于是又是各种百度啊csdn啊论坛啊,找啊找,找到了很多,老实说都不尽人意,然后去github上翻了一下,还真的有。
GitHub - ccccccmd/ReCapcha: 验证码识别 发票标号识别 图片识别
这是大佬写的验证码识别程序,里面第一个就是。所以我这里只是做个记录,操作说明。
可以看到大佬写的功能非常之多,甚至还有爬虫爬取验证码图片,他真的我哭死。
以下是操作说明:
前期准备:(下载)很多的验证码图片(图片最好是同一个接口的,不然验证码样式可能会奇形怪状,一下子这样一下子那样),新建一个文本文件(如果有字模库则跳过这一步)。
1.选择本地验证码图片的文件夹路径(会自动获取文件夹中的验证码图片)。
2.选择字模的路径(txt文本文件,内容可为空,如果没有字模可以自己创建一个新的文本文件,然后自己训练)。
3.然后可以点击“识别”了,点击图片或者“下一个”按钮可以切换验证码图片。第一次识别的话需要进行训练,“识别错误——>修改”,然后在下面填写对应的验证码。然后点击“字模学习入库”就会写入特征码到刚刚新建的文本文件。然后再点击“识别”可以查看效果,然后点击下一个,识别。以此类推。
多写入几次,识别率就高起来了。然后那个文本文件就是这种验证码的字模库了。
要是字模写入错了,还可以点击“字模操作”进行编辑,或者把那个错的字模删掉。
在大佬项目的根目录下有很多测试的验证码,可以用于测试。
根目录:ReCapcha-master\ReCapcha-master\RECAPTCHA\RECAPTCHA\bin\Debug\captcha
在训练好字模库之后,就可以在其他地方调用了。直接把ImageProcess类牛过来。
Image img = Image.FromFile(@"C:\Users\F1685778.IT-C23050020S\Desktop\新增資料夾\1669854112560.jpg");
string sb = ImageProcess.GetCAPTCHACode(img, @"C:\Users\F1685778.IT-C23050020S\Desktop\新文字文件.txt", 1, 20, 30, 2, false, 8);
Console.WriteLine(sb);
Console.ReadKey();
效果也是非常的nice!
声明:此内容仅供学习交流使用,不用于商业用途,如果涉及侵权,联系作者删除。
2401_87515530: 提示已安装,但无法使用
想睡懒觉l: 请问将winform编译成动态dll之后导入unity怎么将unity渲染到预写好panel控件里呢,有后续吗
星空~龙: 我是用来提取视频片段的,因为每条字幕出现时就代表人物要开始说话了,讲每条字幕对应的视频片段分割并筛选以达到区分对应任务语音片段的效果。
星空~龙: 说反了,我这里unity是socket客户端,form是socket服务器
星空~龙: unity是socket服务器,form是socket客户端