python识别验证码+灰度图片base64转换图片

一、为后面识别验证码准备

1、base64转换为图片,保存本地、并且置灰

在这里插入图片描述
在这里插入图片描述

上文中的base64,后面的就是包含Base64编码的PNG图像的字符串复制下来

import base64
from PIL import Image
import io# 这里是你的Base64编码的字符串
base64_data = "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"# 解码Base64数据为二进制
image_data = base64.b64decode(base64_data)# 将二进制数据转换为图片
with Image.open(io.BytesIO(image_data)) as img:# img.show() image展示# 保存图片到本地img.save("decoded_image.png", "PNG")# 变成灰色图gray_img = img.convert('L')gray_img.show()

2、二值化图片

import base64from PIL import Image
import io# 这里是你的Base64编码的字符串
base64_data = "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"# 解码Base64数据为二进制
image_data = base64.b64decode(base64_data)# 将二进制数据转换为图片
with Image.open(io.BytesIO(image_data)) as im:img = im.convert('L')pixels = img.load()for x in range(img.width):for y in range(img.height):# 可以适当调大这个200if pixels[x, y] > 200:pixels[x, y] = 255else:pixels[x, y] = 0img.show()

3、图片转存内存中

import base64
from PIL import Image
import io
import ddddocr
# 这里是你的Base64编码的字符串
base64_data = "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"# 解码Base64数据为二进制
image_data = base64.b64decode(base64_data)# 将二进制数据转换为图片
img = Image.open(io.BytesIO(image_data))# img.show() image展示# 变成灰色图
gray_img = img.convert('L')
# 讲图片存在内存中二进制
buffered = io.BytesIO()
gray_img.save(buffered, format="JPEG")  # 可以根据需要调整格式
gray_image_binary = buffered.getvalue()

二、识别图片上内容(ddddocr库)

由于本人python版本问题pip出现了 就不进行验证了
在这里插入图片描述
链接

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决:Microsoft Visual C++ 14.0 is required.

Microsoft Visual C 14.0 is required. Get it with “Microsoft Visual C Build Tools 当我们安装绝大部分python包的时候可以通过pip install 或者 conda install解决,但是任然有些包是安装不了的,比如我的就是在安装pyqt5的时候报Building wheel for…

三、C语言中的分支与循环—for循环 (6)

本章分支结构的学习内容如下: 三、C语言中的分支与循环—if语句 (1) 三、C语言中的分支与循环—关系操作符 (2) 三、C语言中的分支与循环—条件操作符 与逻辑操作符(3) 三、C语言中的分支与循环—switch语句(4)分支结构 完 本章循环结构的…

如何将支持标准可观测性协议的中间件快速接入观测

前言 作为一名云原生工程师,如何将支持标准可观测性协议的中间件快速接入观测云呢?答案是只需要三步。 首先,需要确定您要观测的中间件类型。支持标准可观测性协议中间件可通过观测云的 DataKit 采集到中间件的关键指标。有些中间件自带可观…

手游开发项目经验简单总结

这是我最近一个完整的手游开发项目的简单总结,请大家指点 引擎 语言 编辑器 项目开发模块规划分 主项目工程,UI资源项目工程,模型场景资源项目工程 热更框架 前后端协议 UI 图集 多语言适配 SLG场景和其他场景 战斗 美术模型资源 人物 动作…

ClickHouse基础介绍

目录 前言 1、什么是clickhouse 2、OLAP场景的关键特征 3、列式存储更适合于OLAP场景的原因 4、clickhouse的独特功能 5、clickhouse的缺点 6、性能 6.1、单个大查询的吞吐量 6.2、处理短查询的延迟时间 6.3、处理大量短查询的吞吐量 6.4、数据的写入性能 前言 11月…

外包干了2个月,感觉技术明显退步...

先说情况,大专毕业,18年通过校招进入湖南某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试&#xf…

idea 专业版(学习版)安装windows/linux(ubuntu为例)通用

下载 IntelliJ IDEA 2021.1.3专业版 打开浏览器并前往 JetBrains 官方网站的下载页面。选择适用于 Linux 的专业版(2021.1.3为例),并下载适合你系统架构的安装包(通常是 .tar.gz 格式)。 安装 IntelliJ IDEA 打开终…

C语言编译器(C语言编程软件)完全攻略(第五部分:VS2015使用教程(使用VS2015编写C语言程序))

介绍常用C语言编译器的安装、配置和使用。 五、VS2015使用教程&#xff08;使用VS2015编写C语言程序&#xff09; 前面我们给出了一段完整的C语言代码&#xff0c;就是在显示器上输出“C语言中文网”&#xff0c;如下所示&#xff1a; #include <stdio.h> int main() {…

kubectl常用命令(主题篇)

上一篇是按照操作把全局性的命令给整理出来&#xff0c;但是在实际的使用中&#xff0c;经常需要对某一个主题进行操作&#xff0c;因此这一篇按照对应的主题进行一系列操作。 集群 查看集群基本信息 kubectl cluster-info namespace 命名空间 查看 kubectl get namespace k…

面试题:聊聊 SpringBoot 中的 SPI 机制

文章目录 简介Java SPI实现示例说明实现类1实现类2相关测试 源码分析Spring SPISpring 示例定义接口相关实现 相关测试类输出结果源码分析 总结 简介 SPI(Service Provider Interface)是JDK内置的一种服务提供发现机制&#xff0c;可以用来启用框架扩展和替换组件,主要用于框架…

FindMy技术用于键盘

键盘是我们生活中不可或缺的输入工具&#xff0c;是人与计算机之间沟通的桥梁&#xff0c;无论是编写文档、浏览网页、玩游戏、或是进行复杂的数据分析&#xff0c;键盘都在其中发挥着关键的作用。此外&#xff0c;键盘还是各种软件的快捷键操作的关键。通过熟练地运用快捷键&a…

c语言:用结构体求平均分|练习题

一、题目 用c语言的结构体&#xff0c;求4位学生成绩的平均分 如图&#xff1a; 二、代码截图【带注释】 三、源代码【带注释】 #include <stdio.h> float aver();//声明平均分函数 void printScore();//声明打印函数 //设置结构体&#xff0c; struct student { …