当前位置:   article > 正文

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

python ddddocr

一、简介

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

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

二、安装命令

pip install ddddocr
  • 1

以上命令将自动安装符合自己电脑环境的最新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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

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

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==
  • 1

在使用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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/579129
推荐阅读
相关标签
  

闽ICP备14008679号