如何使用python自动识别验证码?

本文介绍了如何利用Python库ddddocr进行验证码识别,该库简单易用,无需复杂配置,适用于初学者。环境要求Python版本大于等于3.8,支持Windows、Linux和MacOS。通过pip安装命令`pip install ddddocr`即可。在测试中,ddddocr能快速识别简单的验证码,但可能无法区分字母大小写。对于对识别精度要求不高的场景,ddddocr是一个便捷的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何使用python自动识别验证码?

介绍


在很久之前,分享过一次Python 代码实现验证码识别的办法。

当时采用的是pillow+pytesseract,优点是免费,较为易用。但其识别精度一般,若想要更高要求的验证码识别,初学者就只能去选择使用百度API接口了。

但其实百度API接口和pytesseract其实都需要进行前期配置,对于初学者来说就不太友好了。

而且百度API必须要联网,对于某些机器不能联网的朋友而言,就得pass了

最近群里有位群友分享了一个新库,试用一下发现非常实用,特意今天分享给大家。

Github地址:https://github.com/sml2h3/ddddocr

该库名也是非常有趣 —— ddddocr(谐音带带弟弟OCR)

环境要求


python >= 3.8
Windows/Linux/Macox..

命令安装


pip install ddddocr

参数说明


DdddOcr 接受两个参数

参数名默认值说明
use_gpuFalseBool 是否使用gpu进行推理,如果该值为False则device_id不生效
device_id0int cuda设备号,目前仅支持单张显卡

classification

参数名默认值说明
img0bytes 图片的bytes格式

图形验证码识别


在网上随机寻找了一个验证码图片,使用这个库来实战一下。
在这里插入图片描述

import ddddocr

ocr = ddddocr.DdddOcr()
with open('1.png', 'rb') as f:
    img_bytes = f.read()
res = ocr.classification(img_bytes)

print(res)

在这里插入图片描述

成功识别出来了验证码文字!

而且优点也非常明显:首先代码非常精简,对比前文提到的两种方法,不需要额外设置环境变量等等,5行代码即可轻松识别验证码图片。另一方面,我们使用魔法命令%%time也测试出来吗,这段代码识别速度非常快。

下面用更多的验证码图片继续测试:
在这里插入图片描述

我又找了6个验证码图片来测试,观察结果,发现这类简单的验证码基本可以进行快速识别。但也有部分结果有问题——字母大小写没有进行区分(比如第6张图片)。

总而言之,如果你需要进行验证码识别,且对精度要求不是过高。

那么,带带弟弟OCR(ddddocr)这个库是一个不错的选择~

优快云_码404:如何使用python自动识别验证码?
https://www.code404.icu/1436.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值