非常简单的Python识别图片验证码实现过程
作者:梦魇762459510 发布时间:2022-01-23 02:03:54
很久之前,分享过一次Python代码实现验证码识别的办法。
当时采用的是pillow+pytesseract,优点是免费,较为易用。但其识别精度一般,若想要更高要求的验证码识别,初学者就只能去选择使用百度API接口了。
但其实百度API接口和pytesseract其实都需要进行前期配置,对于初学者来说就不太友好了。
而且百度API必须要联网,对于某些机器不能联网的朋友而言,就得pass了
最近群里有位群友分享了一个新库,试用一下发现非常实用,特意今天分享给大家。
Github地址:https://github.com/sml2h3/ddddocr
该库名也是非常有趣 —— ddddocr(谐音带带弟弟OCR)
环境要求:
python >= 3.8Windows/Linux/Macox..
可以通过以下命令安装
pip install ddddocr
参数说明:
在网上随机寻找了一个验证码图片,使用这个库来实战一下。所以想学的同学,有必要听一下这位老师的课、领取python福利奥,想学的同学可以到梦雅老师的围鑫(同音):前排的是:762,中间一排是:459,后排的一组是:510 ,把以上三组字母按照顺序组合起来即可,她会安排学习的。
来源:百度搜索
import ddddocr
ocr = ddddocr.DdddOcr()
with open(‘1.png', ‘rb') as f:
img_bytes = f.read()
res = ocr.classification(img_bytes)
print(res)
成功识别出来了验证码文字!
而且优点也非常明显:首先代码非常精简,对比前文提到的两种方法,不需要额外设置环境变量等等,5行代码即可轻松识别验证码图片。另一方面,我们使用魔法命令%%time也测试出来吗,这段代码识别速度非常快。
下面用更多的验证码图片继续测试:
我又找了6个验证码图片来测试,观察结果,发现这类简单的验证码基本可以进行快速识别。但也有部分结果有问题——字母大小写没有进行区分(比如第6张图片)。
总而言之,如果你需要进行验证码识别,且对精度要求不是过高。
那么,带带弟弟OCR(ddddocr)这个库是一个不错的选择~
以上就是非常简单的Python验证码识别实现过程的详细内容,更多关于Python验证码识别的资料请关注脚本之家其它相关文章!
来源:https://blog.csdn.net/MC_XY/article/details/119419310
猜你喜欢
- 简介 函数式编程语言在学术领域已经存在相当长一段时间了,但是从历史上看,它们没有丰富的工具和库可供使用。随着 .NET 平台上的
- <?php date_default_timezone_set("PRC"); $host = stripslas
- 本文实例讲述了Python迭代器与生成器基本用法。分享给大家供大家参考,具体如下:迭代器可以进行for循环的数据类型包括以下两种:1. 集合
- 目录最终版本过程借鉴代码思考urllib.request和requestsBeautifulSoup优化处理总结代码复制可直接使用,记得pi
- TKinterPython 的 GUI 库非常多,之所以选择 Tkinter,一是最为简单,二是自带库,不需下载安装,随时使用,跨平台兼容性
- 最近为了熟悉一下 js 用有道翻译练了一下手,写一篇博客记录一下,也希望能对大家有所启迪,不过这些网站更新太快,可能大家尝试的时候会有所不同
- 前言字符串是 字符的序列 。字符串基本上就是一组单词。我几乎可以保证你在每个Python程序中都要用到字符串,所以请特别留心下面这部分的内容
- 一、分析网页1. 打开网页,在搜索框输入百度翻译并进入百度翻译网站中。F12调出开发者工具,点击Network(网络)\ Fetch/XHR
- 当然,每个人都可以编写CSS代码,甚至你现在已经让它为你的项目工作了。但是CSS还可以更好吗?开始用这5个Tips改进你的CSS吧!1.合理
- 1.背景最近使用Pytest中的fixture和conftest时,遇到需要在conftest中的setup和teardown方法里传递参数
- 网站内容的入口很大一部分都是依赖于导航系统,而网站的入口很大一部分依赖于搜索系统,这也在一定意义上证明了导航与搜索之间的重叠性。搜索系统可以
- 显示图像: Image img = Image.From
- php输出文字乱码的解决办法:在php文件最开头写上:<?phpheader('Content-type: text/html
- 一、ts文件的由来ts文件,ts即"Transport Stream"的缩写,特点就是要求从视频流的任一片段开始都是可以
- 您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 g
- 前言最近实习任务为黑烟检测,想起了可以尝试用yolov5来跑下,之前一直都是用的RCNN系列,这次就试试yolo系列。一、安装pytorch
- 前言:Python 面向对象的高级编程语言,以其语法简单、免费开源、免编译扩展性高,同时也可以嵌入到C/C++程序和丰富的第三方
- javascript的分号代表语句的结束符,但由于javascript具有分号自动插入规则,所以它是一个十分容易让人模糊的东西,在一般情况下
- 刚才运行了一段代码,来查看Request.ServerVariables里面有多少值,看了一下,共50个!代码<%=Request.S
- 位置参数这是一个求等差数列和的函数,使用必需要传入一个参数n,这就是位置参数def sum(n): sum=0 &