Python读取base64图片数据

Python读取base64图片数据

在Python中,可以使用base64模块来解码Base64编码的字符串,并将其转换回原始的数据(如图片)。但通常,Base64编码的图片字符串会带有前缀(如data:image/jpeg;base64,),需要先去掉这个前缀再进行解码。

以下是一个简单的例子,展示如何从Base64编码的字符串中读取并保存图片:

import base64
import io
from PIL import Image# 假设有一个Base64编码的图片字符串,这里我们使用一个简化的示例
base64_str = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAAAAAAAD/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAIQAABtbnRyUkdCIFhZJiouMjY7...(此处省略其他Base64编码的内容)"# 去掉前缀('data:image/jpeg;base64,')
base64_data = base64_str.split(',')[1]# 解码Base64数据
image_bytes = base64.b64decode(base64_data)# 将字节数据转换为BytesIO对象
image_io = io.BytesIO(image_bytes)# 使用PIL库读取图片
image = Image.open(image_io)# 保存图片到文件
image.save('output.jpg')

注意:上面的Base64字符串base64_str只是一个示例,需要将其替换为实际的Base64编码的图片字符串。而且,Base64字符串可能以不同的MIME类型开始(如data:image/png;base64,),需要相应地调整代码以匹配的字符串。

使用场景:
以下是百度Aistudio部署的应用为例:

# 获取base64图片数据
import requestsdef query(payload, token='你自己的token令牌', appCode='你的appCode'):API_URL = f"https://{appCode}.aistudio-hub.baidu.com/image/generations"headers = {# 请前往 https://aistudio.baidu.com/index/accessToken 查看 访问令牌"Authorization": f"token {token}","Content-Type": "application/json"}response = requests.post(API_URL, headers=headers, json=payload)return response.json()def access_image(prompt):output = query({"prompt": f"{prompt}"})return output['data'][0]["b64_image"]
# base64数据转图片
import base64  
import io  
from PIL import Image  def decode_b64_image(base64_data):# 解码Base64数据  image_bytes = base64.b64decode(base64_data)  # 将字节数据转换为BytesIO对象  image_io = io.BytesIO(image_bytes)  # 使用PIL库读取图片  image = Image.open(image_io)  # 保存图片到文件  # image.save('output.jpg')return image
# 调用函数
prompt = "杰作,高品质,超精细,全细节,8k"
base64_image = access_image(prompt)
decode_b64_image(base64_image)

在这里插入图片描述

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

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

相关文章

按键配合LDO实现开关功能

今天给大家分享一个学到的按键开关电路,适合没有足够空间给自锁开关的场景,既可以用于USB供电控制也可以用于电池供电控制。话不多说上电路图先。 核心任务就是通过按键控制LDO芯片的使能管脚的电平状态,这枚NCP芯片高电平使能,VB…

【计算机网络】物理层传输介质 习题3

双绞线是用两根绝缘导线绞合而成的,绞合的目的是( )。 A.减少干扰 B.提高传输速度 C.增大传输距离 D.增大抗拉强度 在电缆中采用屏蔽技术带来的好处主要是( ) A.减少信号衰减 B. 减少电磁干扰辐射 C.减少物理损坏 D. 减少电缆的阻抗 利用一根同轴电缆互连主机构成…

LBSS84LT1G 130MA 50V P沟道小电流MOS管

LBSS84LT1G作为一款P沟道功率MOSFET,由于其低导通电阻和快速切换特性,在电机控制中有着广泛的应用。以下是几个典型的应用案例: 1. 直流电机驱动:在直流电机驱动电路中,LBSS84LT1G可用于控制电机的转速和方向。通过控…

天软因子数据库——宏观风险因子体系发布

天软因子数据最新重要发布,新增宏观风险因子体系。宏观因子体系是因子投资的重要工具,帮助投资者实现宏观风险的定量配置。宏观风险因子体系的新增使得天软因子数据体系更加完善。 目前海外对冲基金机构已推出过各自的宏观因子体系,例如Blac…

C语言(指针)4

Hi~!这里是奋斗的小羊,很荣幸各位能阅读我的文章,诚请评论指点,关注收藏,欢迎欢迎~~ 💥个人主页:小羊在奋斗 💥所属专栏:C语言 本系列文章为个人学习笔记&#x…

ubuntu安装oceanbase调通本地navicat链接

分为两部分 一安装oceanbase服务 准备工作 mkdir -p /data/1 /data/log1 chown -R admin.admin /data/1 /data/log1/偷偷说:其实这步我忘记执行,也没影响我安装 oceanbase程序是很占内存的在安装时我们要先下载好安装包: 然后放在能记住的…

视频号音乐怎么下载

在这个数字化的时代,音乐如同流动的灵魂,穿梭在每一个视频号的精彩瞬间。你是否曾在某个视频号的背景音乐中,找到了心灵的共鸣,却苦于无法将其永久珍藏?想象一下,如果能够将那些触动心弦的旋律,…

电脑耳机插上没声音?5个方法,助力电脑重返有声世界!

“不知道怎么回事,我的电脑插上耳机后还是听不到声音,这是为什么呢?怎么解决电脑耳机没声音的问题呢?” 在日常使用电脑的过程中,耳机作为一种常见的音频输出设备,经常被我们用来享受音乐、观看视频或进行语…

1.基于python的单细胞数据预处理-降维可视化

目录 降维的背景PCAt-sneUMAP检查质量控制中的指标 参考: [1] https://github.com/Starlitnightly/single_cell_tutorial [2] https://github.com/theislab/single-cell-best-practices 降维的背景 虽然特征选择已经减少了维数,但为了可视化&#xff0…

干部管理系统亮点深度解析

在信息化浪潮的推动下,干部管理系统已成为组织高效运作的得力助手。该系统凭借一系列创新亮点,为干部的选拔、培养、评估和使用提供了强有力的支撑。 一、智能化与数据化:精准决策的基石 干部管理系统凭借大数据和人工智能技术的融合&#…

【管理篇】如何横向沟通?

目录标题 什么是横向沟通?常见沟通问题 如何处理横向沟通中的问题? 什么是横向沟通? 所谓横向沟通,就是和没有直接汇报关系的合作方之间的沟通,指的是与平级间进行的与完成工作有关的交流;横向沟通核心的挑…

Shopee虾皮行业分析:灯具类目市场价值超15亿,打造爆品先选好品

在东南亚这个充满活力的地区,灯具市场正如同其璀璨的夜空,闪烁着无限的可能性。 从繁华的新加坡到古老的曼谷,从繁忙的雅加达到宁静的河内,灯具在每个角落都扮演着至关重要的角色。 它们不仅照亮了家庭的温馨空间,也…