ddddocr根本使用和介绍

饭宝  金牌会员 | 2024-5-17 19:48:56 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 907|帖子 907|积分 2721

ddddocr根本使用和介绍

在使用爬虫登录网站的时候,常常输入用户名和暗码后会遇到验证码,这时候就需要用到今天给大家介绍的python第三方库ddddocr,ddddocr是一款强大的通用开源ocr辨认库,具有高效、准确、易用的特点,广泛应用于图像处置惩罚和笔墨辨认任务。本文将为大家介绍ddddocr的根本使用方法,以及示例代码。
一、背景介绍

在计算机视觉和图像处置惩罚领域,数字辨认是一个常见的任务,用于从图像中提取数字并进行辨认。通常,传统的数字辨认算法在单个数字或多位数字的辨认上表现良好,但对于双重数字(两位数字)的准确辨认却面临一些挑衅。这是因为双位数字在视觉上具有相对较高的相似性和重叠特性,使得传统方法的准确率有所下降。
为了办理双重数字辨认的问题,ddddocr项目应运而生。该项目通过使用深度学习的方法,结合卷积神经网络(CNN)和循环神经网络(RNN),对双重数字进行高效准确的辨认。通过训练模子并进行预测,ddddocr能够辨认图像中的双位数字,并输出其详细数值。
该项目具有以下特点和优势:
深度学习:ddddocr使用深度学习技能,特别是卷积神经网络和循环神经网络,对双重数字进行准确的辨认。
开源项目:ddddocr是一个开源项目,允许用户免费使用、修改和分发代码。这使得更多的开发者可以加入其中,贡献自己的想法和改进。
高准确率:通过深度学习的方法,ddddocr在双重数字辨认任务上能够取得较高的准确率,有效克服了传统方法在此任务上的困难。
灵活性:ddddocr提供了训练和预测的功能,用户可以根据自己的需求自定义模子并进行训练,以适应不同的双重数字辨认任务。
ddddocr的目标是提供一个简单而有效的工具,帮助开发者和研究者在双重数字辨认任务上取得更好的效果。通过使用该库,用户可以轻松地集成双重数字辨认功能到自己的应用程序或项目中,实现更准确和可靠的数字辨认功能。
二、安装

直接使用pip安装即可
  1. pip install ddddocr
复制代码
安装完成后就可以在python代码中引入ddddocr库了
  1. import ddddocr
复制代码
三、使用示例


  • 辨认英文数字验证码


    代码示例
    1. # test.py
    2. import ddddocr
    3. ocr = ddddocr.DdddOcr(show_ad=False)  # show_ad=False关闭广告
    4. with open("./img/1.jpg", "rb") as f1:
    5.     im = f1.read()
    6.     yzm1 = ocr.classification(im)
    7. with open("./img/2.jpg", "rb") as f2:
    8.     im = f2.read()
    9.     yzm2 = ocr.classification(im)
    10. print(yzm1, yzm2)
    复制代码
    运行效果

  • 辨认滑块验证码


    代码示例
    1. # test.py
    2. import ddddocr
    3. det = ddddocr.DdddOcr(det=False, ocr=False, show_ad=False)  # show_ad=False关闭广告
    4. with open('img/target.png', 'rb') as f:
    5.     target_bytes = f.read()
    6. with open('img/background.jpg', 'rb') as f:
    7.     background_bytes = f.read()
    8. res = det.slide_match(target_bytes, background_bytes, simple_target=True)
    9. print(res)
    复制代码
    运行效果

    一般只会用到res['target'][0],这个就是滑块需要滑动的隔断。在实际应用中每个网站可能会有偏差,所以要对滑块轨迹进行微调,可以根据网站的滑块和背景图的大小对res['target'][0]进行加减
  • 辨认中文点选验证码

    代码示例
    1. # test.py
    2. import ddddocr
    3. import cv2
    4. det = ddddocr.DdddOcr(det=True, show_ad=False)  # show_ad=False关闭广告
    5. with open("./img/dianxuan.jpg", 'rb') as f:
    6.     image = f.read()
    7. poses = det.detection(image)
    8. print(poses)
    9. im = cv2.imread("./img/dianxuan.jpg")
    10. for box in poses:
    11.     x1, y1, x2, y2 = box
    12.     im = cv2.rectangle(im, (x1, y1), (x2, y2), color=(0, 0, 255), thickness=2)
    13. cv2.imwrite("./img/result.jpg", im)
    复制代码
    运行效果

四、总结

本文介绍了使用ddddocr辨认英文数字验证码、滑块验证码和中文点选验证码的过程,ddddocr在对图片不进行任何处置惩罚的情况下辨认服从已经非常高了,我们在实际应用场景中还可以根据自身需求对图片进行进一步的处置惩罚提高辨认率。在遇到一些复杂难以辨认的验证码时我们可以对其进行深度学习训练,详细实现流程可以参考我前面的博客。此外,ddddocr里面还很多值得学习的东西,有爱好的小伙伴可以自行研究。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

饭宝

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表