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.rhkb.cn/news/231427.html

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

相关文章

Python(wordcloud):根据文本数据(.txt文件)绘制词云图

一、前言 本文将介绍如何利用python来根据文本数据(.txt文件)绘制词云图,除了绘制常规形状的词云图(比如长方形),还可以指定词云图的形状。 二、相关库的介绍 1、安装相关的库 pip install jieba pip i…

优化算法3D可视化

编程实现优化算法,并3D可视化 1. 函数3D可视化 分别画出 和 的3D图 import numpy as np from matplotlib import pyplot as plt import torch# 画出x**2 class Op(object):def __init__(self):passdef __call__(self, inputs):return self.forward(inputs)def for…

大数据毕业设计:python房源数据爬虫分析预测系统+可视化 +商品房数据(源码+讲解视频)✅

毕业设计:2023-2024年计算机专业毕业设计选题汇总(建议收藏) 毕业设计:2023-2024年最新最全计算机专业毕设选题推荐汇总 🍅感兴趣的可以先收藏起来,点赞、关注不迷路,大家在毕设选题&#xff…

【大数据】Zookeeper 集群及其选举机制

Zookeeper 集群及其选举机制 1.安装 Zookeeper 集群2.如何选取 Leader 1.安装 Zookeeper 集群 我们之前说了,Zookeeper 集群是由一个领导者(Leader)和多个追随者(Follower)组成,但这个领导者是怎么选出来的…

遥感影像-语义分割数据集:2021年昇腾杯初赛数据集详细介绍及训练样本处理流程

原始数据集详情 简介:细粒度语义分割赛道依据现有的遥感地物分类要求, 结合现有的地物分类实际需求,参照地理国情监测、 “三调”等既有地物分类标准,依据遥感地物“所见即所得”原则, 设计地物要素分类体系&#xff…

「实验记录」CS144 Lab1 StreamReassembler

目录 一、Motivation二、SolutionsS1 - StreamReassembler的对外接口S2 - push_substring序列写入ByteStream 三、Result四、My Code五、Reference 一、Motivation 我们都知道 TCP 是基于字节流的传输方式,即 Receiver 收到的数据应该和 Sender 发送的数据是一样的…

linux sh 脚本文件换行错误

windows 写好的脚本到服务运行不起来,显示换行问题 因为 windwos 的换行和 linux 的换行风格不同 解决办法:在使用的文本编辑器中,修改格式为 unix 格式 以 notepad 为例,在编辑 -> 文档格式转换中设置格式为 Unix

Javaweb之Mybatis的基础操作之新增和更新操作的详细解析

1.4 新增 功能:新增员工信息 1.4.1 基本新增 员工表结构: SQL语句: insert into emp(username, name, gender, image, job, entrydate, dept_id, create_time, update_time) values (songyuanqiao,宋远桥,1,1.jpg,2,2012-10-09,2,2022-10-…

lvs+keepalived+nginx实现四层负载+七层负载

目录 一、lvs配置 二、nginx配置 三、测试 3.1 keepalived负载均衡 3.2 lvskeepalived高可用 3.3 nginx高可用 主机IPlvs01-33 11.0.1.33 lvs02-3411.0.1.34nginx0111.0.1.31nginx0211.0.1.32VIP11.0.1.30 4台主机主机添加host [rootnginx01 sbin]# cat /etc/hosts 127.0.0.…

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取相机当前实时帧率(C#)

Baumer工业相机堡盟工业相机如何通过NEOAPI SDK获取相机当前实时帧率(C#) Baumer工业相机Baumer工业相机的帧率的技术背景Baumer工业相机的帧率获取方式CameraExplorer如何查看相机帧率信息在NEOAPI SDK里通过函数获取相机帧率 Baumer工业相机通过NEOAPI…

Ubuntu18.04 升级Ubuntu20.04

文章目录 背景升级方法遇到的问题 背景 因项目环境需要,欲将Ubuntu18.04升级至Ubuntu20.04,参考网上其他小伙伴的方法,也遇到了一个问题,特此记录一下,希望能帮助其他有同样问题的小伙伴。 升级方法 参考&#xff1a…

leetcode贪心(单调递增的数字、监控二叉树)

738.单调递增的数字 给定一个非负整数 N&#xff0c;找出小于或等于 N 的最大的整数&#xff0c;同时这个整数需要满足其各个位数上的数字是单调递增。 &#xff08;当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。&#xff…

超简单|配图详细| 双系统Ubuntu22.04 系统磁盘扩容

文章目录 1. 打开磁盘工具2. 格式化空闲分区3. 挂载该分区4. 数据迁移与备份5. 卸载原分区6. 挂载新的/home分区7. 重启系统8. 删除原来的数据8.1 直接格式化分区8.2 没有单独的/home分区1. 查看设备名2. 重新挂载该分区3. 删除原始分区/home目录中的内容4. 卸载原分区5. 重启 …

Java的业务逻辑验证框架fluent-validator

Java的业务逻辑验证框架fluent-validator 2月 8, 2016 1 背景 在互联网行业中&#xff0c;基于Java开发的业务类系统&#xff0c;不管是服务端还是客户端&#xff0c;业务逻辑代码的更新往往是非常频繁的&#xff0c;这源于功能的快速迭代特性。在一般公司内部&#xff0c;特…

C语言实验3:函数的定义

目录 一、实验要求 二、实验原理 1.函数头 2.函数体 3.函数的定义及使用 三、实验内容 1. sum函数 代码 截图 分析 2. sum函数 代码 截图 分析 3. rank_grade函数 代码 截图 分析 4. rank_grade函数 代码 截图 分析 5. 函数的嵌套使用 代码 截图 分析…

【UEFI基础】EDK网络框架(通用函数和数据)

通用函数和数据 DPC DPC全称Deferred Procedure Call。Deferred的意思是“延迟”&#xff0c;这个DPC的作用就是注册函数&#xff0c;然后在之后的某个时刻调用&#xff0c;所以确实是有“延迟”的意思。DPC在UEFI的实现中包括两个部分。一部分是库函数DxeDpcLib&#xff0c;…

2023高级人工智能期末总结

1、人工智能概念的一般描述 人工智能是那些与人的思维相关的活动&#xff0c;诸如决策、问题求解和学习等的自动化&#xff1b; 人工智能是一种计算机能够思维&#xff0c;使机器具有智力的激动人心的新尝试&#xff1b; 人工智能是研究如何让计算机做现阶段只有人才能做得好的…

【Storm实战】1.1 图解Storm的抽象概念

文章目录 0. 前言1. Storm 中的抽象概念1.1 流 (Stream)1.2 拓扑 (Topology)1.3 Spout1.4 Bolt1.5 任务 (Task)1.6 工作者 (Worker) 2. 形象的理解Storm的抽象概念2.1 流 (Stream)2.2 拓扑 (Topology)2.3 Spout2.4 Bolt2.5 任务 (Task)2.6 工作者 (Worker)场景1场景2 3.参考文档…

Mysql 将表里的两列值数据互换

示例&#xff1a; 需要将表中的 两个订单号互换 方案&#xff1a; 将同一张表数据做 临时数据 和主表 做数据交互 。 update 表 as main, 表 as temp set main.bill_no temp.track_bill_no, main.track_bill_no temp.bill_no where main.id temp.id…

实时记录和查看Apache 日志

Apache 是一个开源的、广泛使用的、跨平台的 Web 服务器&#xff0c;保护 Apache Web 服务器平台在很大程度上取决于监控其上发生的活动和事件&#xff0c;监视 Apache Web 服务器的最佳方法之一是收集和分析其访问日志文件。 Apache 访问日志提供了有关用户如何与您的网站交互…