傻瓜式 Python OCR 识别库 -- ddddocr
Python绿色通道
共 1604字,需浏览 4分钟
·
2022-02-28 05:24
↑ 关注 + 星标 ,每天学Python新技能
后台回复【大礼包】送你Python自学大礼包
在使用爬虫登录网站的时候,经常输入用户名和密码后会遇到验证码,简单一点的有字母验证码,复杂一点的有滑块验证码,点选文章和点选图片验证码。这些都是爬虫中的老大难问题,今天介绍一款通用验证码识别 SDK 对他们彻底说拜拜,它的名字是 ddddocr 带带弟弟 OCR 通用验证码识别 SDK 免费开源版。
安装
将自动安装符合自己电脑环境的最新 ddddocr。Python 环境需要小于等于 3.9。
pip install ddddocr
使用
带带弟弟 OCR 可以识别三种验证码,小编就用这三种来实验一下。
滑块验证码
滑块验证码这里用的是豆瓣的滑块验证。下滑块是单独的透明背景图 hycdn.png。
背景图是带小滑块坑位的 background.jpg。
import ddddocr
det = ddddocr.DdddOcr(det=False, ocr=False)
with open('hycdn.png', 'rb') as f:
target_bytes = f.read()
with open('background.jpg', 'rb') as f:
background_bytes = f.read()
res = det.slide_match(target_bytes, background_bytes, simple_target=True)
print(res)
识别结果
{'target_y': 0, 'target': [486, 126, 622, 262]}
target 属性的前两个值正好和豆瓣验证滑块 url 中提交的 ans 差不多。
点选类验证码
点选类验证码用的是网易登录
det = ddddocr.DdddOcr(det=True)
with open("eb.jpg", 'rb') as f:
image = f.read()
poses = det.detection(image)
im = cv2.imread("eb.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)
识别结果
字母数字验证码
字母数字验证码的图片来自于 google 搜索
ocr = ddddocr.DdddOcr(old=True)
with open("z1.jpg", 'rb') as f:
image = f.read()
res = ocr.classification(image)
print(res)
识别结果
3n3d
8342
总结
ddddocr 让验证码变得如此简单与易用,,让不会用 opencv, pytorch, tensorflow 的小伙伴也能快速的破解网站的登录验证码。小伙伴们如果有其他好的 ocr 识别也可以在留言中分享出来。
推荐阅读
您看此文用 分 秒,转发只需1秒哦~
评论
Python文字识别OCR案例:百度AI实现OCR识别(源代码) !
最近研究OCR技术实现较多,各种OCR实现方式做了一些测试和对比,针对不同的业务需要采用不同的实现方式,今天写的这个案例是利用百度AI来实现的通用OCR文字识别。实现方式非常简单,十几行代码就能搞定,但识别率如何就要看图片质量和所用字体了。
从根本上来说,OCR的技术实现有两种方式:
第一种较为简单,就是调用各个云平台提供的OCR服务来识别图片上的文字。这种实现方式的优点是简单易用,识别率较高,灵活性较弱,定制化不容易实现,但是需要上传图片信息,如果图片上包含敏感信息就有数据安全性和隐私性方面可能的问题,而正是这最后一点让很多客户对这种OCR实现方式敬谢不敏。
第二种实现起来较为复杂,就是在本地实现OCR文字
萌新程序员
0
轻松识别图像,这款Python OCR库支持超过80种语言
OCR是什么?
有一款软件叫扫描全能王,想必一些小伙伴听过,这是一个OCR集成软件,可以将图像内容扫描成文字。
所以说,OCR作用是对文本资料的图像文件进行分析识别处理,获取文字及版面信息。
OCR的全称叫作“Optical Character Recognition”,即光学字符识别。
这算是生活里最常见、最有用的AI应用技术之一。
细心观察便可发现,身边到处都是OCR的身影,文档扫描、车牌识别、证件识别、银行卡识别、票据识别等等。
OCR本质是图像识别,其包含两大关键技术:文本检测和文字识别。
先将图像中的特征的提取并检测目标区域,之后对目标区域的的字符进行分割和分类。
关于EASYOC
朱卫军
0