5行Python实现验证码识别,太稳了

news2024/11/24 5:00:47

很久之前,分享过一次Python代码实现验证码识别的办法。

当时采用的是pillow+pytesseract,优点是免费,较为易用。但其识别精度一般,若想要更高要求的验证码识别,初学者就只能去选择使用百度API接口了。

但其实百度API接口和pytesseract其实都需要进行前期配置,对于初学者来说就不太友好了。

而且百度API必须要联网,对于某些机器不能联网的朋友而言,就得pass了

最近群里有位群友分享了一个新库,试用一下发现非常实用,特意今天分享给大家。
Github地址:github.com/sml2h3/dddd…

该库名也是非常有趣 —— ddddocr(谐音带带弟弟OCR)

环境要求

python >= 3.8Windows/Linux/Macox..

可以通过以下命令安装

pip install ddddocr

参数说明

5行Python实现验证码识别,太稳了

在网上随机寻找了一个验证码图片,使用这个库来实战一下。

5行Python实现验证码识别,太稳了

来源:百度搜索

import ddddocr

ocr = ddddocr.DdddOcr()
with open(‘1.png’, ‘rb’) as f:
img_bytes = f.read()
res = ocr.classification(img_bytes)

print(res)

5行Python实现验证码识别,太稳了

成功识别出来了验证码文字!

而且优点也非常明显:首先代码非常精简,对比前文提到的两种方法,不需要额外设置环境变量等等,5行代码即可轻松识别验证码图片。另一方面,我们使用魔法命令%%time也测试出来吗,这段代码识别速度非常快。最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~

下面用更多的验证码图片继续测试:

5行Python实现验证码识别,太稳了

我又找了6个验证码图片来测试,观察结果,发现这类简单的验证码基本可以进行快速识别。但也有部分结果有问题——字母大小写没有进行区分(比如第6张图片)。

总而言之,如果你需要进行验证码识别,且对精度要求不是过高。

那么,带带弟弟OCR(ddddocr)这个库是一个不错的选择~

如果你对Python感兴趣,想要学习python,这里给大家分享一份Python全套学习资料,都是我自己学习时整理的,希望可以帮到你,一起加油!

😝有需要的小伙伴,可以点击下方链接免费领取或者V扫描下方二维码免费领取🆓
Python全套学习资料

在这里插入图片描述

1️⃣零基础入门

① 学习路线

对于从来没有接触过Python的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

② 路线对应学习视频

还有很多适合0基础入门的学习视频,有了这些视频,轻轻松松上手Python~
在这里插入图片描述

③练习题

每节视频课后,都有对应的练习题哦,可以检验学习成果哈哈!
在这里插入图片描述

2️⃣国内外Python书籍、文档

① 文档和书籍资料

在这里插入图片描述

3️⃣Python工具包+项目源码合集

①Python工具包

学习Python常用的开发软件都在这里了!每个都有详细的安装教程,保证你可以安装成功哦!
在这里插入图片描述

②Python实战案例

光学理论是没用的,要学会跟着一起敲代码,动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。100+实战案例源码等你来拿!
在这里插入图片描述

③Python小游戏源码

如果觉得上面的实战案例有点枯燥,可以试试自己用Python编写小游戏,让你的学习过程中增添一点趣味!
在这里插入图片描述

4️⃣Python面试题

我们学会了Python之后,有了技能就可以出去找工作啦!下面这些面试题是都来自阿里、腾讯、字节等一线互联网大厂,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
在这里插入图片描述
在这里插入图片描述

上述所有资料 ⚡️ ,朋友们如果有需要的,可以扫描下方👇👇👇二维码免费领取🆓
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1321762.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux-----21、挂载

# 挂载命令 将硬件资源,或文件资源💿,和📂空目录🔗连接起来的过程 # mount linux 所有存储设备都必须挂载使用,包括硬盘 ​ 命令名称:mount ​ 命令所在路径:/bin/mount ​ 执行…

无懈可击的防泄密之旅:迅软DSE在民营银行的成功实践

客户简要介绍 某股份有限公司主体是中部地区的民营银行,由其母公司联合9家知名民营企业共同发起设立。正式开业于2016年,紧紧围绕目标产业生态圈和消费金融,着力打造产业银行、便捷银行、数字银行、财富管理银行为一体的BEST银行&#xff0c…

学习Java第74天,Ajax简介

什么是ajax AJAX Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 AJAX 不是新的编程语言,而是一种使用现有标准的新方法。 AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页…

基于Java SSM框架实现二手车交易网站系统项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架实现二手车交易网站系统演示 摘要 二手车交易网站采用B/S模式,促进了二手车交易网站的安全、质量、快捷的发展。传统的管理模式还处于手工处理阶段,管理效率极低,随着用户的不断增多,传统基于手工管理模式已经无…

Redis7--基础篇9(SpringBoot集成Redis)

1. jedis、lettuce、Redistemplate的关系 第一代为jedis,之后推出了lettuce,然后springboot继承了Redistemplate,现推荐使用Redistemplate。 总的来说,jedis、lettuce、Redistemplate都是java操作Redis数据库的驱动。 2. 本地Ja…

MapReduce和Yarn部署+入门

看的黑马视频记的笔记 目录 1.入门知识点 分布式计算: 概念: 两种模式: MapReduce(分布式计算,分散汇总模式) 概念 执行原理 注: Yarn(分布式资源调度) 概述 Y…

探讨小鹏汽车CAN通讯协议分析破解过程数据研究技术应用

当前新能源电动汽车设计日益复杂,为提高舒适性、功能性、提升性能和确保更高的安全性,很多汽车的设计中融入了更复杂的功能。包括了雷达、激光雷达、自适应巡航、L2以上自动驾驶系统,高级驾驶辅助系统、盲区监测等等。安装在汽车上的传感器和…

代码魔法:递归嵌套的《迷宫之旅》算法解析

前言 在代码的舞台上,递归算法的奇迹就如同魔法一般令人叹为观止。本文以经典的迷宫问题为基础,通过递归嵌套的方式,带你踏上一场神奇的迷宫之旅。 迷宫规则 迷宫由一个二维数组表示,其中0表示可通行的路径,1表示墙…

泛型(泛型类、接口及方法)——学习推荐版,通俗易懂讲解

泛型定义及分类 1.泛型类 类型变量其实就是一个标识符&#xff0c;一般用大写字母表示&#xff0c;如K&#xff0c;T&#xff0c;E&#xff0c;V&#xff0c;当然也可以多个字母或数字的组合&#xff0c;只要满足标识符的定义规则就都可以。 形式1 若写成MyArrayList<> …

UE5 C++(六)— 枚举UENUM、结构体USTRUCT和补充属性说明符

文章目录 枚举&#xff08;ENUM&#xff09;第一种方式第二种方式 结构体&#xff08;USTRUCT&#xff09;补充属性说明符&#xff08;ExposeOnSoawn&#xff09;结构体创建数据表格 枚举&#xff08;ENUM&#xff09; 第一种方式 定义枚举 UENUM(BlueprintType) namespace …

Vue中英文翻译小结

背景&#xff1a;时局艰难&#xff0c;后端开发被强制写了vue&#xff0c;这不有个需求是中英文翻译&#xff0c;特此记录下&#xff0c;该怎么个翻译法子。 先引入全局的路由国际化文件&#xff0c;zh.js 和 en.js 1.关于插值表达Button里面 {{ $t(reinsop.common.back) }} …

制造业CRM选型注意事项:有这些功能的系统更好用

当前&#xff0c;推动制造业数字化转型已成时代发展趋势。为了适应这一趋势&#xff0c;制造业使用CRM管理系统是非常重要的。那么&#xff0c;制造业CRM应该怎么选&#xff1f; 1、全方位客户管理 订单价值大&#xff0c;交货周期长&#xff0c;客户开发难。。。这一直是制造…

MySQL job 定时任务

目录 介绍 优点&#xff1a; 缺点&#xff1a; 使用场景&#xff1a; 案例 创建表 -- 创建定时任务 每一分钟插入一条数据 执行结果 -- 查询定时任务 ENABLED--启用 DISABLED--禁用 -- 查询定时任务 -- 启用定时任务 ​-- 禁用定时任务 ​-- 删除定时任务 …

Unity | 渡鸦避难所-3 | 控制角色移动

1 移动刚体 在物理世界中&#xff0c;控制刚体移动通常有三种方式&#xff0c;每种方式产生的效果也不尽相同 AddForce&#xff1a;添加作用力&#xff0c;用于模拟真实的物理效果 MovePosition&#xff1a;设置位置&#xff0c;用于精确控制游戏对象的位置 velocity&#x…

opencv 入门一(显示一张图片)

头文件添加如下&#xff1a; 库目录添加如下&#xff1a; 依赖的库如下&#xff1a; #include <iostream> #include "opencv2/opencv.hpp" int main(int argc,char ** argv) { cv::Mat img cv::imread(argv[1], -1); if (img.empty()) return -1; …

1998-2022年最大NDVI数据集(1km)

本文的植被指数&#xff08;NDVI&#xff09;数据来源于美国NASA定期发布的MOD13A3植被指数数据集。MOD13A3提供自1998年4月起逐月1km的NDVI数据。原始数据来源详细的介绍见&#xff1a;https://doi.org/10.5067/MODIS/MOD13A3.006   月度NDVI数据为每月1-3旬NDVI数据数值的最…

第二证券:耐心等待指数企稳 关注数据要素等板块

其时或是布局商场的时间窗口。2024年美联储或打开降息周期&#xff0c;欧洲降息预期也在增强&#xff0c;全球流动性有望迎来拐点。中心经济工作提及2024年的职业及工业方向&#xff0c;政策有望落地施行&#xff0c;将会为职业配备带来较多的催化要素&#xff0c;是具备配备价…

小红书可观测 Metrics 架构演进,如何实现数十倍性能提升?

在当前云原生时代&#xff0c;随着微服务架构的广泛应用&#xff0c;云原生可观测性概念被广泛讨论。可观测技术建设&#xff0c;将有助于跟踪、了解和诊断生产环境问题&#xff0c;辅助开发和运维人员快速发现、定位和解决问题&#xff0c;支撑风险追溯、经验沉淀、故障预警&a…

Android WorkManager入门(一)

WorkManager入门 前言一、WorkManager是什么&#xff1f;二、使用1.添加依赖2.定义工作3.创建 WorkRequest并提交 一次性的任务&#xff08;OneTimeWorkRequest&#xff09;4.setExpedited 加急方法5. setInitialDelay 延时任务6.约束 总结参考资料 前言 在当今快节奏的生活中…

协同物联:设备物联与车间数据采集的融合

随着工业4.0和智能制造的快速发展&#xff0c;物联网技术在工业领域的应用逐渐普及。其中&#xff0c;协同物联、设备物联和车间数据采集技术对于提升企业生产效率和降低运营成本具有重要意义。本文将深入探讨这些技术在现代工业环境中的应用及它们如何共同推动企业向数字化转型…