当前版本为 1.3.0
想必很多做验证码的新手,一定头疼碰到点选类型的图像,做样本费时费力,神经网络不会写,训练设备太昂贵,模型效果又不好。
市场上常见的点选类验证码图片如下图所示
那么今天,他来了,ddddocr 带着重磅更新大摇大摆的走来了。
ddddocr 是由 sml2h3 开发的专为验证码厂商进行对自家新版本验证码难易强度进行验证的一个 python 库,其由作者与 kerlomz 共同合作完成,通过大批量生成随机数据后进行深度网络训练,本身并非针对任何一家验证码厂商而制作,本库使用效果完全靠玄学,可能可以识别,可能不能识别。
ddddocr 奉行着开箱即用、最简依赖的理念,尽量减少用户的配置和使用成本,希望给每一位测试者带来舒适的体验
项目地址: 点我传送
本次更新其实分为两部分,其中有一部分是在 1.2.0 版本就已经更新了,但是在这里还是有必要提一下的。
在 1.2.0 开始,ddddocr 的识别部分进行了一次 beta 更新,主要更新在于网络结构主体的升级,其训练数据并没有发生过多的改变,所以理论上在识别结果上,原先可能识别效果的很好的图形在 1.2.0 上有一小部分概率会有一定程度的下降,也有可能原本识别不好的图形在 1.2.0 之后效果却变得特别好。 测试代码:
import ddddocr ocr = ddddocr.DdddOcr() with open("test.jpg", 'rb') as f: image = f.read() res = ocr.classification(image) print(res)
OCR 部分应该已经有很多人做了测试,在这里就放一部分网友的测试图片。
等等更多图片等你测试哟~
在本次 1.3.0 的更新中,目标检测部分隆重登场! 目标检测部分同样也是由大量随机合成数据训练而成,对于现在已有的点选验证码图片或者未知的验证码图片都有可能具备一定的识别能力,适用于文字点选和图标点选。 简单来说,对于点选类的验证码,可以快速的检测出图片上的文字或者图标。
import ddddocr import cv2 det = ddddocr.DdddOcr(det=True) with open("test.jpg", 'rb') as f: image = f.read() poses = det.detection(image) print(poses) im = cv2.imread("test.jpg") for box in poses: x1, y1, x2, y2 = box im = cv2.rectangle(im, (x1, y1), (x2, y2), color=(0, 0, 255), thickness=2) cv2.imwrite("result.jpg", im)
举些例子:
以上只是目前我能找到的点选验证码图片,做了一个简单的测试。
python <= 3.9
Windows/Linux/Macos..
暂时不支持 Macbook M1(X),M1(X)用户需要自己编译 onnxruntime 才可以使用
pip install ddddocr
以上命令将自动安装符合自己电脑环境的最新 ddddocr
1 anxn 2022-01-04 11:09:19 +08:00 用过 识别效果很不错 支持 lz |
2 linupy 2022-01-04 11:10:10 +08:00 dddd ,yyds |
![]() | 3 triangle111 2022-01-04 11:13:16 +08:00 dddd |
![]() | 4 dangyuluo 2022-01-04 11:17:49 +08:00 赞 |
![]() | 5 FightPig 2022-01-04 11:30:31 +08:00 ![]() 优秀 |
6 Souukou 2022-01-04 11:37:29 +08:00 via Android 厉害。楼主人在国内么,小心被抓啊 |
![]() | 8 ppllss 2022-01-04 11:58:52 +08:00 牛皮 |
![]() | 9 ctro15547 2022-01-04 12:15:24 +08:00 强啊 |
![]() | 10 wangyu17455 2022-01-04 12:19:39 +08:00 6666666 |
11 0o0O0o0O0o 2022-01-04 12:24:27 +08:00 via iPhone @sml2h3 #7 效果示例图片里有它们家的 logo |
12 sml2h3 OP @0o0O0o0O0o 毕竟识别纯靠玄学,图片里的图标和文字都有可能被检测出来 |
13 streamrx 赞 |
14 NBY 2022-01-04 13:07:06 +08:00 2022-01-04 13:50:14.024762 [W:onnxruntime:, execution_frame.cc:770 VerifyOutputSizes] Expected shape from model of {1,19} does not match actual shape of {1,27} for output output 请问怎么把这种报错屏蔽掉 |
15 bbbb 2022-01-04 13:09:23 +08:00 太厉害了 |
![]() | 17 encro 2022-01-04 13:38:53 +08:00 一个.onnx 文件叫开源? |
19 c1273082756 2022-01-04 14:01:39 +08:00 牛逼 |
20 lianjin 2022-01-04 14:37:45 +08:00 必须支持下 |
21 cryboy007 2022-01-04 17:19:45 +08:00 赞,之前想爬一个网站。就困在解析验证码来着,看来可以重启之前得项目了 |
![]() | 23 hakaei 2022-01-04 17:22:54 +08:00 via iPhone dddd |
![]() | 24 huruwo 2022-01-04 17:34:07 +08:00 楼上这也太谨慎了,如果开源识别库被抓的话。那么说实话人工领域也不要发展算了。 什么 语音 图像 视频开源框架统统都要进去了,顺便把机器学习框架开发者一起抓了。 |
29 fank99 2022-01-04 17:59:56 +08:00 6666 |
30 kile 2022-01-04 18:07:44 +08:00 想了半天,这个项目叫点点点点 ocr... |
![]() | 32 7gugu 2022-01-04 20:57:18 +08:00 厉害 |
![]() | 33 yxnwh 2022-01-04 21:18:56 +08:00 必须马克一下,厉害了 |
![]() | 34 ClericPy 2022-01-04 22:08:43 +08:00 还没点进去看, 全程离线吗? 突然心疼上个月莫名其妙引战了的内个水友... |
![]() | 35 llsquaer 2022-01-04 22:29:54 +08:00 哈哈 用了一段时间..牛啊..不用交钱打码了 |
![]() | 38 ClericPy 2022-01-04 23:02:07 +08:00 @sml2h3 我还以为你看到了才卷的... 好像是有个水友吐槽了一句 tesseract 不好使(原生没训练的), 然后吐槽标题里写的是 py 不好使... 帖子找不到了, 总之挺惨的 |
![]() | 40 steveway 2022-01-05 00:39:16 +08:00 via iPhone 坐等支持滑块.jpg 不过滑块似乎就不属于 ocr 了 |
![]() | 41 qyzxgl 2022-01-05 10:44:04 +08:00 牛哇牛哇,今天开始用了,识别效果不错 |
![]() | 42 qyzxgl 2022-01-05 10:44:52 +08:00 谢谢楼主,上山给你拜拜^_^ |
![]() | 45 janxin 2022-01-05 14:54:46 +08:00 dddd ,这个是真的好用 |
46 manyfish 2022-01-05 17:17:17 +08:00 可以,比某麻瓜好用 |
47 sml2h3 OP @manyfish 毕竟新一些,麻瓜开源那会大家都用 tensorflow 比较多,我跟麻瓜作者也好几年朋友啦,ddddocr 的出现麻瓜作者也帮了很多忙 |
![]() | 48 css3 2022-01-06 09:36:05 +08:00 |