用OCR技术,自动识别各种验证码,工具已开源

今天我在给大家分享一个 OCR​ 应用——ddddocr自动识别验证码

前面 4 个d是“带带弟弟”的首拼音。[/笑哭]。

项目地址:https://github.com/sml2h3/ddddocr。

使用的时候用pip​命令直接安装即可pip install ddddocr。

OCR的核心技术包含两方面,一是目标检测模型检测图片中的文字,二是文字识别模型,将图片中的文字转成文本文字。

第一类验证码最简单,它们没有复杂的背景图片,所以目标检测模型可以省略,直接将图片送入文字识别模型即可。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

用OCR技术,自动识别各种验证码,工具已开源

识别代码如下:

import ddddocr
from PIL import Image

# 模型
ocr = ddddocr.DdddOcr(beta=True)

# 验证码图片
with open('test.jpg', 'rb') as f:
image = f.read()

res = ocr.classification(image)
# 验证码文字内容
print(res)

第二类验证码有复杂的背景,需要先用目标检测模型框出文字,在进行识别。

码上飞 码上飞

码上飞(CodeFlying) 是一款AI自动化开发平台,通过自然语言描述即可自动生成完整应用程序。

码上飞 138 查看详情 码上飞

用OCR技术,自动识别各种验证码,工具已开源

代码如下:

import ddddocr
import cv2

det = ddddocr.DdddOcr(det=True)

with open("test2.jpg", 'rb') as f:
image = f.read()

# 目标检测
poses = det.detection(image)
print(poses)

im = cv2.imread("test2.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("result.jpg", im)

输出结果如下:

用OCR技术,自动识别各种验证码,工具已开源

可以看到文字部分已经被框出来了,如果我们在上述代码直接将im[y1:y2, x1:x2]送入文字识别模型,就可以识别出对应的文本内容了。

ddddocr还能识别下面这种带滑块的验证码。

用OCR技术,自动识别各种验证码,工具已开源

用OCR技术,自动识别各种验证码,工具已开源

这种虽然不属于OCR的业务范畴,但作为一个通用的验证码识别工具,作者还是支持了,必须给作者点个赞。

以上就是用OCR技术,自动识别各种验证码,工具已开源的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/545139.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
苹果iPhone14卡死怎么办
上一篇 2025年11月9日 17:08:54
知名车评人陈震发生交通事故 座驾劳斯莱斯闪灵维修费或超百万:曾称买车损险不划算
下一篇 2025年11月9日 17:09:40

相关推荐

  • thinkphp验证码不显示或验证失败怎么处理

    验证码不显示或验证失败通常由GD库未启用、输出干扰、Session配置错误、大小写敏感、路径问题或版本差异导致。1. 检查php.ini中extension=gd是否开启并重启服务;2. 确保生成验证码前无空行、BOM头或echo输出,关闭display_errors;3. 确认session.sa…

    2026年9月9日
    200
  • 魅族 22 核心配置曝光:80W+5500mAh 支持 UWB 技术

    魅族 22 核心配置曝光:80W+5500mAh 支持 UWB 技术魅族 22 核心配置曝光:80W+5500mAh 支持 UWB 技术魅族 22 核心配置曝光:80W+5500mAh 支持 UWB 技术魅族 22 核心配置曝光:80W+5500mAh 支持 UWB 技术

    8 月 19 日,一位数码博主透露了魅族 22 的关键配置信息。据悉,该机型将搭载 80w 有线快充,电池容量约为 5500mah,部分特别版本还将支持 uwb(超宽带)技术。 魅族 22 据该博主透露,魅族 22 已完成 CCC、SRRC 和 CTA 三大认证,进入发布前的最后准备阶段。在外观工艺…

    2026年9月9日 用户投稿
    000
  • 彩色背光技术:RGB-MiniLED/RGB MicroLED 解析——开启大屏显示新时代

    彩色背光技术:RGB-MiniLED/RGB MicroLED 解析——开启大屏显示新时代彩色背光技术:RGB-MiniLED/RGB MicroLED 解析——开启大屏显示新时代彩色背光技术:RGB-MiniLED/RGB MicroLED 解析——开启大屏显示新时代彩色背光技术:RGB-MiniLED/RGB MicroLED 解析——开启大屏显示新时代

    在当下的显示设备市场,显示方案的选择早已不是当年等离子和液晶技术那样的技术路线之争,而是 ” 画质表现 ” 与 ” 成本 ” 之间的权衡。传统背光和 mini led 背光供应链成熟、成本可控,却始终受制于技术先天带来的画质瓶颈;自发光阵营的 micr…

    2026年9月9日 用户投稿
    400
  • ThinkPHP6验证码生成与验证:保护应用的安全性

    ThinkPHP6验证码生成与验证:保护应用的安全性 随着互联网的发展,各种类型的恶意攻击也层出不穷。为了保护应用的安全性,验证码成为了一种常见的安全措施。本文将介绍如何在ThinkPHP6框架中生成和验证验证码,并通过代码示例进行讲解。 一、生成验证码 在ThinkPHP6中,生成验证码可以通过使…

    2026年9月8日
    000
  • 在ThinkPHP6中使用Docker技术

    随着云计算和容器技术的快速发展,docker 成为了构建、部署和管理应用程序的最流行方式之一。在软件开发和部署方面,docker 为我们提供了一种轻量级、可移植、可重复使用的解决方案,可以有效地优化我们的开发过程。 而在 ThinkPHP6 中,开发者们可以使用 Docker 技术来优化他们的开发流…

    用户投稿 2026年9月7日
    100
  • 在ThinkPHP6中使用Auth授权技术

    随着互联网应用的不断发展,web应用程序的安全性成为越来越重要的问题,如何保证程序的安全性,已经成为所有开发者面临的难题。auth授权技术是一种流行的解决方案,可以提供基于角色的访问控制。 在这篇文章中,我们将探讨如何在ThinkPHP6中使用Auth授权技术。首先,我们需要明确一下Auth授权的工…

    用户投稿 2026年9月7日
    000
  • 如何在ThinkPHP6中使用验证码

    随着网络安全的日益重视,验证码作为一种常见的验证方式被广泛使用。在web应用程序中,验证码可以有效地防止恶意攻击和机器人自动化操作,保障信息的安全性和可靠性。thinkphp6作为一款优秀的php框架,也提供了验证码功能的支持。本文将介绍如何在thinkphp6中使用验证码。 安装验证码扩展Thin…

    用户投稿 2026年9月6日
    000
  • 在ThinkPHP6中使用Pjax技术

    随着web技术的不断发展,网站的访问速度变得越来越快。但是,对于一些需要频繁刷新页面的应用程序,如博客、新闻站点或社交媒体,即使有快速的网站,用户仍然需要等待每个页面完全加载才能获取信息或执行一些操作。pjax技术可以帮助解决这个问题,而在thinkphp6中使用pjax也相当容易。 Pjax是什么…

    用户投稿 2026年9月6日
    100
  • 利用WebMan技术打造优质的在线学习平台

    利用WebMan技术打造优质的在线学习平台 随着互联网的快速发展,在线学习方式日益普及。然而,市场上的在线学习平台千差万别,用户体验和功能的不同常常让人犯难。为了解决这个问题,我们可以利用WebMan技术来打造一个更加优质的在线学习平台。 WebMan是一种基于Web技术的应用开发方式,可以帮助我们…

    2026年9月3日
    000
  • 推荐有效的工具和技术来进行网站性能优化

    随着互联网的快速发展,越来越多的企业将自己的业务扩展到了网上。然而,随之而来的问题是网站的性能优化。一个高效的网站能够提高用户体验,增加访问量以及销售额。为了达到这些目标,下面将要介绍一些有效的工具和技术来帮助您对网站进行性能优化。 页面压缩:页面压缩是通过减少文件大小来提高页面加载速度的一种方法。…

    2025年12月22日
    400
  • 实现响应式布局的技术和策略

    如何实现响应式布局的技术与方法 引言:随着移动设备的普及和多种终端的涌现,实现响应式布局已成为现代网页开发的重要一环。响应式布局可以使网页在不同的屏幕尺寸下自动适应,提供更好的用户体验。本文将介绍响应式布局的技术与方法,并提供具体的代码示例。 一、媒体查询(Media Queries)媒体查询是实现…

    2025年12月21日
    500
  • 静态重定位技术的原理及其应用案例

    静态重定位技术的原理和应用 引言:在现代计算机系统中,内存管理是一个非常重要的课题。随着软件的复杂性和规模的增加,内存的限制成为了我们面临的一个挑战。为了更高效地利用内存资源,静态重定位技术应运而生。本文将介绍静态重定位技术的原理、应用以及提供一些具体的代码示例。 一、静态重定位技术的原理静态重定位…

    2025年12月21日
    000
  • 分析静态定位技术的优缺点

    静态定位技术的优势与局限性分析 随着现代科技的发展,定位技术已经成为我们生活中不可或缺的一部分。而静态定位技术作为其中的一种,具有其特有的优势和局限性。本文将对静态定位技术进行深入分析,以便更好地了解其应用现状和未来的发展趋势。 首先,我们来看一下静态定位技术的优势所在。静态定位技术是通过对待定位对…

    2025年12月21日
    500
  • 优化网页设计的方法——静态定位的应用技巧

    在现代互联网领域中,网页设计是一个至关重要的领域。深入探究网页设计的方方面面,现代设计师越来越意识到静态定位技术的重要性。静态定位技术可以使得网页设计更灵活,更符合用户的需求,从而大大提高用户对于网页的满意度与使用体验。本文将探究静态定位技术的作用,以及如何在网页设计中去优化与应用静态定位技术。 一…

    2025年12月21日
    000
  • 用Canvas技术打造引人入胜的动态效果,轻松get!

    轻松掌握Canvas技术,打造炫酷动态效果 Canvas是HTML5中一项功能强大的绘图技术,可以实现各种炫酷的动态效果。本文将带你一步步学习Canvas的基本用法,并提供具体的代码示例,让你轻松掌握这项技术。 一、Canvas简介 Canvas是HTML5中的一个元素,用于在网页上绘制图形、动画等…

    2025年12月21日
    700
  • 了解canvas的JS技术:你熟知哪些呢?

    探究canvas的JS技术:你知道有哪些吗? 简介 在现代Web开发中,JavaScript已经成为不可或缺的一部分。作为一种脚本语言,它可以为网页添加交互性和动态性。而在JS技术中,canvas则是一个重要的API之一。本文将带您深入了解canvas的JS技术,并介绍一些常用的canvas相关功能…

    2025年12月21日
    200
  • 再谈前端HTML模板技术

    再谈前端HTML模板技术再谈前端HTML模板技术再谈前端HTML模板技术再谈前端HTML模板技术

    这篇文章介绍的内容是关于再谈前端HTML模板技术,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 在web2.0之前,写jsp的时候虽然有es和JSTL,但是还是坚持jsp。后面在外包公司为了快速交货,还是用了php Smart技术。 web2.0后,前端模板技术风行。 代表有如下三大…

    2025年12月21日 用户投稿
    000
  • js如何实现OCR识别 基于Tesseract.js的OCR实现

    js如何实现OCR识别 基于Tesseract.js的OCR实现js如何实现OCR识别 基于Tesseract.js的OCR实现js如何实现OCR识别 基于Tesseract.js的OCR实现js如何实现OCR识别 基于Tesseract.js的OCR实现

    javascript实现ocr识别主要依赖tesseract.js库,它是一个纯javascript ocr引擎。解决方案步骤如下:1. 引入tesseract.js,可通过cdn或npm安装;2. 准备包含文本的图片,可以是本地文件或url;3. 使用tesseract.recognize()方法…

    2025年12月20日 用户投稿
    100
  • XML数据绑定技术有哪些

    XML数据绑定技术通过将XML与程序对象映射,提升开发效率与代码可读性,主要分为基于XSD生成代码(如JAXB)和基于注解运行时绑定(如Simple XML)两类;选择时需权衡Schema稳定性、性能、开发效率及框架成熟度;相比手动解析,其优势在于类型安全、低维护成本,但面临大文件内存开销与复杂结构…

    2025年12月17日
    000
  • Python开发建议:掌握常用的调试工具和技术

    Python作为一种强大、灵活的编程语言,被广泛应用于各种软件开发领域。然而,许多开发者在学习和使用Python时,往往忽略了调试技术的重要性。调试是软件开发过程中不可或缺的一部分,它可以帮助开发者找到和解决代码中的问题,提高开发效率,保证软件质量。因此,掌握常用的调试工具和技术对于Python开发…

    2025年12月13日
    000

发表回复

登录后才能评论
关注微信