python
主页 > 脚本 > python >

python使用ddddocr库识别滑动验证码介绍

2024-11-29 | 佚名 | 点击:

示例代码:

1

2

3

4

5

6

7

8

import ddddocr

det = ddddocr.DdddOcr(det=False,ocr=True,show_ad=False)

with open('target.png','rb') as f:

     target_bytes = f.read()

with open(bg_origin,'rb') as f:

     background_bytes = f.read()

res = det.slide_match(target_bytes,background_bytes,simple_target=True)

value = res['target'][0]

target.png就是滑块的图片:

bg_origin就是原图(切记是没有缺口的):

识别结果示例: 

注意:ddddocr库比较大,一些托管网站对于 serveless Function  的大小有做限制!!!!

附:文字图片验证码识别

ddddocr的数字英文识别准确率大概有个百分之九十,我用了挺久的,目前还没有遇到ddddocr识别准确率很低的数字英文验证码。

1

2

3

4

5

6

7

8

9

10

11

12

13

import ddddocr

# 识别验证码

def identifying_code(path):

    # show_ad广告

    ocr = ddddocr.DdddOcr(show_ad=False)

    with open(path, 'rb') as f:

        img_bytes = f.read()

    res = ocr.classification(img_bytes)

    print(res)

    return res

 

if __name__ == '__main__':

    result = identifying_code(r"C:\Users\Desktop\identifyingCode.jfif")

path放的是验证码图片的路径,会返回一个字符串,不过为了准确率,建议这边最好加一些判断,比如你的网站验证码是五个字符组成,如12ABC这样,就判断下字符串长度是否是5,如果不是直接刷新重新识别。

原文链接:
相关文章
最新更新