news 2026/4/15 12:18:55

Python如何把二进制文本转PIL图片对象

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python如何把二进制文本转PIL图片对象

要将二进制文本转换为PIL对象,可以使用以下步骤:

代码实现

fromPILimportImagefromioimportBytesIO# 假设bytes_str是通过img.get_screenshot(as_bytes='png')获取的二进制数据bytes_str=b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR...'# 示例二进制数据# 将二进制数据转换为PIL.Image对象image=Image.open(BytesIO(bytes_str))# 验证转换结果(可选)print(f"图片格式:{image.format}")print(f"图片尺寸:{image.size}")# image.show() # 显示图片(可选)

关键说明

  1. BytesIO的作用
    将二进制数据包装成虚拟的文件流对象,使PIL的Image.open()能够像处理真实文件一样读取内存中的二进制数据。

  2. 自动检测格式
    PIL会根据二进制数据的头部信息自动识别图片格式(如PNG、JPEG等)。即使你在get_screenshot()中指定了格式(如as_bytes='png'),PIL也能正确解析。

  3. 格式兼容性
    如果二进制数据是完整的图片格式(如包含PNG/JPEG的魔数头),转换过程不会出错。如果数据损坏或不完整,PIL会抛出异常。

补充建议

  • 异常处理:建议添加try-except块捕获PIL.UnidentifiedImageError等异常,避免无效数据导致程序崩溃。
  • 格式显式指定:若需强制指定图片格式(如已知二进制数据是PNG但PIL误识别),可在Image.open()后使用image = image.convert('RGB')或通过format属性修正。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 1:32:10

汽车制造系统如何实现订单交付周期缩短?

在工业4.0与智能制造加速演进的背景下,汽车制造系统正经历一场由数据驱动、智能协同和全流程闭环管理引领的深刻变革。作为现代制造业中最复杂、最精密的生产体系之一,汽车制造系统涵盖冲压、焊接、涂装与总装四大核心工艺,每一个环节都对精度…

作者头像 李华
网站建设 2026/4/16 1:32:09

【数据集】全国社会组织民办非企业组织慈善组织等数据(1899-2024年)

数据简介:收集整理各个社会组织社会团体,民办非企业组织,基金会等基本信息数据,详细记录了每个社会组织的相关信息,包括社会组织名称、社会信用代码、社会组织类型、成立登记日期、注册资金、业务范围以及住所等。 数…

作者头像 李华
网站建设 2026/4/15 13:41:31

Qwen2.5-Omni-7B-GPTQ-Int4:多模态大模型走向边缘设备的里程碑

导语 【免费下载链接】Qwen2.5-Omni-7B-GPTQ-Int4 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen2.5-Omni-7B-GPTQ-Int4 阿里通义千问团队推出的Qwen2.5-Omni-7B-GPTQ-Int4多模态模型,通过创新的Thinker-Talker架构与GPTQ-Int4量化技术&#xff0…

作者头像 李华
网站建设 2026/4/15 16:58:58

123123

123123123123

作者头像 李华