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!

声明:此内容仅供学习交流使用,不用于商业用途,如果涉及侵权,联系作者删除。

猜你喜欢

转载自blog.csdn.net/qq_51502150/article/details/131301971
今日推荐