Python中使用ddddocr进行图片验证码识别

一、简介

ddddocr是由sml2h3开发的专为验证码厂商进行对自家新版本验证码难易强度进行验证的一个python库,其由作者与kerlomz共同合作完成,通过大批量生成随机数据后进行深度网络训练,本身并非针对任何一家验证码厂商而制作,本库使用效果完全靠玄学,可能可以识别,可能不能识别。

ddddocr奉行着开箱即用、最简依赖的理念,尽量减少用户的配置和使用成本,希望给每一位使用带来舒适的体验。

二、安装命令

pip install ddddocr

以上命令将自动安装符合自己电脑环境的最新ddddocr

三、简单应用

该库支持使用多种方式进行图片验证码识别,例如常用的指定图片路径、使用图片的base64等等,此处列举该两种方式的简单使用

1.指定图片路径

现有图片验证码图片[img.png]如下:
在这里插入图片描述

可通过下述代码对图片[img.png]进行识别:

import ddddocr

# show_ad置为False关闭广告
ocr = ddddocr.DdddOcr(show_ad=False)

with open("img.png", 'rb') as f:
    image = f.read()

res = ocr.classification(image)
print(res)

执行结果如下:
在这里插入图片描述

2.使用图片的base64

现有图片验证码(4116)图片base64串如下:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEMAAAAXCAIAAADft2XFAAACFElEQVR42q1Y200EMQx0M3xySNcBPxRwLVABDVAN9EArVwUfNEAkS5bxPDZIK1mrXDa78dgzdvbi/v3z9fG5rmhrPq3P0GXq8c2Vp1gcbtDx7Dt9CpgRR+pV2QGSupWr366P1DmFU+XwLDx/cnK4rkAvGIpyaU+vDwZn2fX5MsJJ9729vJcZatQ4DOg+v2AkErp+YUjDu7X3soUhrU/S6KT3+JPiz3FQcY8AJKnyqriUOaFQh7sLCfVewRgzCkygHpBUY6CscqIIkIORkwEGYVCO4IOB0sRs5KDkTjOTIkEb70RqjTAvJIbqygi7uvVKhdQakR5IkFp5LWrRfSshSu7GQpFv0KkXLhrRKly0snXRIzFqZnifMzswSO1CeeStQqIKscrJWG/k3nPSM4lpoS/nik9VUFNKQJ1QVmAz6S8ZSAoeZeMAwxVPCzFlNtUJrS0eCcq93oOT1JPY6QCjcCH7RydRGw+RIPKukE6t3dp1qKcilUrLkLvKTE8IjSDKvRJCA9QHYU5plQ0USc9GNwomMXQzaHv9Ve1LnrvMCVz1OPSDtkulTkot2n9M8RjbBd3GgPmXK4cnOu+ceRs/d+Fj/sRh1u+7a6B6p1UtDiUgwwdfZ2n3pNXT/DSQaIDmCdJ8su8cGUzgPRhVJ7w4ZT/Z/xA1lYQ2HHMmN8Xdg8FboWLmvxAU5RCJespXNvPPjvra+wUbZJjt/PwOEAAAAABJRU5ErkJggg==

在使用base64串进行图片验证码识别时需要去掉base64串的前缀,例如上述串中的“data:image/png;base64,”

可通过下述代码对该图片进行识别:

import base64

import ddddocr

# show_ad置为False关闭广告
ocr = ddddocr.DdddOcr(show_ad=False)

pic_base64_noheader_str = """iVBORw0KGgoAAAANSUhEUgAAAEMAAAAXCAIAAADft2XFAAACFElEQVR42q1Y200EMQx0M3xySNcBPxRwLVABDVAN9EArVwUfNEAkS5bxPDZIK1mrXDa78dgzdvbi/v3z9fG5rmhrPq3P0GXq8c2Vp1gcbtDx7Dt9CpgRR+pV2QGSupWr366P1DmFU+XwLDx/cnK4rkAvGIpyaU+vDwZn2fX5MsJJ9729vJcZatQ4DOg+v2AkErp+YUjDu7X3soUhrU/S6KT3+JPiz3FQcY8AJKnyqriUOaFQh7sLCfVewRgzCkygHpBUY6CscqIIkIORkwEGYVCO4IOB0sRs5KDkTjOTIkEb70RqjTAvJIbqygi7uvVKhdQakR5IkFp5LWrRfSshSu7GQpFv0KkXLhrRKly0snXRIzFqZnifMzswSO1CeeStQqIKscrJWG/k3nPSM4lpoS/nik9VUFNKQJ1QVmAz6S8ZSAoeZeMAwxVPCzFlNtUJrS0eCcq93oOT1JPY6QCjcCH7RydRGw+RIPKukE6t3dp1qKcilUrLkLvKTE8IjSDKvRJCA9QHYU5plQ0USc9GNwomMXQzaHv9Ve1LnrvMCVz1OPSDtkulTkot2n9M8RjbBd3GgPmXK4cnOu+ceRs/d+Fj/sRh1u+7a6B6p1UtDiUgwwdfZ2n3pNXT/DSQaIDmCdJ8su8cGUzgPRhVJ7w4ZT/Z/xA1lYQ2HHMmN8Xdg8FboWLmvxAU5RCJespXNvPPjvra+wUbZJjt/PwOEAAAAABJRU5ErkJggg=="""

# 将base64转bytes
image = base64.b64decode(pic_base64_noheader_str)

res = ocr.classification(image)
print(res)

执行结果如下:
在这里插入图片描述

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值