首页 > 其他分享 >ddddocr基本使用和介绍

ddddocr基本使用和介绍

时间:2024-04-19 14:33:53浏览次数:17  
标签:基本 False 数字 验证码 介绍 ddddocr im 识别

ddddocr基本使用和介绍

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

一、背景介绍

在计算机视觉和图像处理领域,数字识别是一个常见的任务,用于从图像中提取数字并进行识别。通常,传统的数字识别算法在单个数字或多位数字的识别上表现良好,但对于双重数字(两位数字)的准确识别却面临一些挑战。这是因为双位数字在视觉上具有相对较高的相似性和重叠特征,使得传统方法的准确率有所下降。

为了解决双重数字识别的问题,ddddocr项目应运而生。该项目通过使用深度学习的方法,结合卷积神经网络(CNN)和循环神经网络(RNN),对双重数字进行高效准确的识别。通过训练模型并进行预测,ddddocr能够识别图像中的双位数字,并输出其具体数值。

该项目具有以下特点和优势:

深度学习:ddddocr利用深度学习技术,特别是卷积神经网络和循环神经网络,对双重数字进行准确的识别。

开源项目:ddddocr是一个开源项目,允许用户免费使用、修改和分发代码。这使得更多的开发者可以参与其中,贡献自己的想法和改进。

高准确率:通过深度学习的方法,ddddocr在双重数字识别任务上能够取得较高的准确率,有效克服了传统方法在此任务上的困难。

灵活性:ddddocr提供了训练和预测的功能,用户可以根据自己的需求自定义模型并进行训练,以适应不同的双重数字识别任务。

ddddocr的目标是提供一个简单而有效的工具,帮助开发者和研究者在双重数字识别任务上取得更好的结果。通过使用该库,用户可以轻松地集成双重数字识别功能到自己的应用程序或项目中,实现更准确和可靠的数字识别功能。

二、安装

直接使用pip安装即可

pip install ddddocr

安装完成后就可以在python代码中引入ddddocr库了

import ddddocr
三、使用示例
  1. 识别英文数字验证码

    image-20240419104057752

    image-20240419104103577

    代码示例

    # test.py
    import ddddocr
    
    ocr = ddddocr.DdddOcr(show_ad=False)  # show_ad=False关闭广告
    with open("./img/1.jpg", "rb") as f1:
        im = f1.read()
        yzm1 = ocr.classification(im)
    with open("./img/2.jpg", "rb") as f2:
        im = f2.read()
        yzm2 = ocr.classification(im)
    print(yzm1, yzm2)
    

    运行结果

    image-20240419104252905

  2. 识别滑块验证码

    image-20240419135651751

    image-20240419135707467

    代码示例

    # test.py
    import ddddocr
    
    det = ddddocr.DdddOcr(det=False, ocr=False, show_ad=False)  # show_ad=False关闭广告
    with open('img/target.png', 'rb') as f:
        target_bytes = f.read()
    with open('img/background.jpg', 'rb') as f:
        background_bytes = f.read()
    res = det.slide_match(target_bytes, background_bytes, simple_target=True)
    print(res)
    

    运行结果

    image-20240419135848413

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

  3. 识别中文点选验证码

    image-20240419141930963

    代码示例

    # test.py
    import ddddocr
    import cv2
    
    det = ddddocr.DdddOcr(det=True, show_ad=False)  # show_ad=False关闭广告
    with open("./img/dianxuan.jpg", 'rb') as f:
        image = f.read()
    poses = det.detection(image)
    print(poses)
    im = cv2.imread("./img/dianxuan.jpg")
    for box in poses:
        x1, y1, x2, y2 = box
        im = cv2.rectangle(im, (x1, y1), (x2, y2), color=(0, 0, 255), thickness=2)
    cv2.imwrite("./img/result.jpg", im)
    

    运行结果

    image-20240419142007836

四、总结

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

标签:基本,False,数字,验证码,介绍,ddddocr,im,识别
From: https://www.cnblogs.com/gggod/p/18145831

相关文章

  • SOLID 原则:软件设计的基本原则
    SOLID原则:软件设计的基本原则高质量的软件设计是构建可靠、可维护和可扩展软件系统的关键。SOLID原则是一组指导软件开发的五个基本设计原则,它们帮助开发者创建更加健壮和灵活的系统。SOLID原则是五个设计和编程的基本原则,它们分别是:单一职责原则(SingleResponsibilityPrinc......
  • 【机器学习】三种基本损失函数
    参考:“损失函数”是如何设计出来的?直观理解“最小二乘法”和“极大似然估计法”_哔哩哔哩_bilibili“交叉熵”如何做损失函数?打包理解“信息量”、“比特”、“熵”、“KL散度”、“交叉熵”_哔哩哔哩_bilibili《信息论基础》三种基本损失函数任务:衡量人脑与神经网络在......
  • ddddocr基本使用和介绍
    ddddocr基本使用和介绍摘要:在使用爬虫登录网站的时候,经常输入用户名和密码后会遇到验证码,这时候就需要用到今天给大家介绍的python第三方库ddddocr,ddddocr是一款强大的通用开源ocr识别库,具有高效、准确、易用的特点,广泛应用于图像处理和文字识别任务。本文将为大家介绍ddddocr的......
  • python基础之-sys模块、os模块基本介绍(未完成)
    背景介绍在自动化脚本中,经常会用到类似:sys.argv[1]和os.getenv("id")两种方式进行传参,为了便于区分,鉴于自己的理解进行一定记录,后续将继续补充。基本介绍一、sys模块它的很多属性描述程序的执行环境,是python的基础模块。*sys.argv:实现从程序外部向程序传递参数。*sys.a......
  • 1 React介绍
    一React介绍1、React是渲染用户界面(UI)的JavaScript库2、React完全基于JavaScript用JavaScript可以生成结构、使用样式及控制逻辑3、学习路径JSX-》组件-》Hooks-》状态管理-》路由二开发环境搭建1、创建项目npxcreate-react-appreact-basicReact脚手架......
  • 异常处理、接口文档、 jwt介绍、
    【异常处理详见excel的异常处理的源码总结】#APIView--->dispatch--->三大认证,视图类的方法,如果出了异常,#会被异常捕获,捕获后统一处理#关键就是dispatch里面的response=self.handle_exception(exc)这行代码#drf内置了一个函数,只要上面过程出了异常,就会执行这个函......
  • 边缘计算智能分析网关V4地面垃圾AI检测算法介绍及场景应用
    在传统的卫生监管场景中,无法及时发现地面遗留的垃圾,通过人工巡逻的方式需要大量的人力、物力和时间,而且效率不高,并存在一定的滞后性,而采用地面垃圾AI检测算法则可以大大提高监管效率。TSINGSEE青犀AI智能分析网关V4的地面垃圾AI检测算法可以自动识别划定区域内遗留的垃圾,若达到设......
  • TSINGSEE青犀算法中台消防通道堵塞/占压AI检测算法的介绍及应用
    消防通道是建筑物内用于紧急疏散的通道,其畅通无阻对于保障人员生命安全至关重要。然而,由于各种原因,消防通道经常会被杂物、车辆等堵塞,一旦发生火灾等紧急情况,后果不堪设想。为了有效解决这一问题,我们提出了一种基于人工智能技术的消防通道堵塞占用检测算法。该算法利用深度学习技......
  • BGE M3-Embedding 模型介绍
    BGEM3-Embedding来自BAAI和中国科学技术大学,是BAAI开源的模型。相关论文在https://arxiv.org/abs/2402.03216,论文提出了一种新的embedding模型,称为M3-Embedding,它在多语言性(Multi-Linguality)、多功能性(Multi-Functionality)和多粒度性(Multi-Granularity)方面表现出色。M3-Embedding......
  • JTCR-介绍类-04
    类基础类表示一个新的数据类型。简单类的一般形式:classClassName{typeinstanceVariable;//...typemethod(parameterList){//方法体}//...}有些Java应用不需要main方法。定义对象new操作符在运行时动态地给一个对象分配内存并返回指向该......