介绍

​DdddOcr,其由Sml2h3与 kerlomz 共同合作完成,通过大批量生成随机数据后进行深度网络训练而得,我们可以使用她提供的api,对登录校验码进行识别,能够解决在自动化测试过程中登录需要获取验证码的场景。备注:对于简单的数字和字母组合的校验码识别率还是非常好的,大家可以查看文章中的测试结果。

项目底层支持

本项目基于dddd_trainer 训练所得,训练底层框架位pytorch,ddddocr推理底层抵赖于onnxruntime,故本项目的最大兼容性与python版本支持主要取决于onnxruntime。

环境支持

安装

命令

pip install ddddocr

安装目录说明

ddddocr

├── MANIFEST.in

├── LICENSE

├── README.md

├── /ddddocr/

│  │── __init__.py            主代码库文件

│  │── common.onnx            ocr模型

│  │── common_det.onnx        目标检测模型

│  │── common_old.onnx        ocr模型

│  │── logo.png

│  │── README.md

│  │── requirements.txt

├── logo.png

└── setup.py

代码中使用

import ddddocr
ocr = ddddocr.DdddOcr()
with open("识别的图片路径", 'rb') as f:
     img_bytes = f.read()
res = ocr.classification(img_bytes)
print('ocr:' + res)

关于ddddocr与playwright结合实现web登录的代码实现,可以参考文章:

playwright+DdddOcr实现带校验码的web登录(附源码)_playwright +ddddocr 滑块验证码-CSDN博客

测试结果

针对不同的验证码进行了测试,测试结果如下,给大家提供一下参考(当然验证码设计的易用性和安全性是很难平衡的,这个需要各位同学自行决策)

150张样本图片,识别出149张,可以说完全破解

测试字母(统一进行字母小写处理)+数字组合的验证码,150张样本图片,识别出130张

测试字母(统一进行字母小写处理)+数字组合+阴影和背景色变化的验证码,150张样本图片,识别出102张

测试字母(统一进行字母小写处理)+数字组合+阴影和背景色变化和干扰线的验证码,150张样本图片,识别出65张

测试数字+干扰线的验证码,150张样本图片,识别出99张

测试字母(统一进行字母小写处理)+数字组合+鱼眼的验证码,70张样本图片,识别出0张,但是这种验证码人也很难分辨

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐