惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
SegmentFault 最新的问题
爱范儿
爱范儿
博客园 - 三生石上(FineUI控件)
Microsoft Security Blog
Microsoft Security Blog
Google DeepMind News
Google DeepMind News
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
GbyAI
GbyAI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
酷 壳 – CoolShell
酷 壳 – CoolShell
量子位
博客园_首页
T
Tailwind CSS Blog
aimingoo的专栏
aimingoo的专栏
A
About on SuperTechFans
T
The Blog of Author Tim Ferriss
Stack Overflow Blog
Stack Overflow Blog
Recent Announcements
Recent Announcements
P
Proofpoint News Feed
博客园 - 司徒正美
有赞技术团队
有赞技术团队
Engineering at Meta
Engineering at Meta
Last Week in AI
Last Week in AI
MongoDB | Blog
MongoDB | Blog

又见苍岚

COLMAP PatchMatch Stereo 算法详解 事件驱动的状态机框架:从理论到工程实践 Git 在国内网络环境下无法 Push 的排查与修复 —— 配置 Clash 代理 分段五次多项式插值原理详解 路径插值方法深度对比研究 Claude Code 使用指南 OpenClaw 记忆管理与技能创建指南 CBS(Conflict-Based Search)算法详解 A* 算法及其变种详解 OpenClaw 配置多 Agents Windows Powershell 无法加载文件,因为在此系统上禁止运行脚本问题的解决方案 MaxClaw 安装流程 大模型 AI 名词介绍 AList 网盘聚合工具简介 Protobuf 简介与测试 Claude Code 简介以及 GLM 4.7 模型接入 Github 歌词下载工具 163MusicLyrics Python __getattr__ 懒加载 Python TypedDict 机器人仿真平台 Gazebo 安装记录 机器人仿真平台 Gazebo 简介 多机器人路径规划问题(Multi-Agent Path Finding, MAPF)简介 Python exifread 读取修改过的 jpeg 信息错误问题修复 3D 坐标系变换的理解 3D 旋转矩阵基本概念 MongoDB Compass 介绍 Python 环境管理工具 uv Flutter 开发指南 Snipaste 安装下载与黑屏问题解决方案 全局路径规划算法记录
Image size exceeds limit of 89478485 pixels 解决方案
Yiwei Zhang · 2025-04-08 · via 又见苍岚

当使用PIL处理超过默认安全限制的大尺寸图像时,会触发DecompressionBombWarning警告。这个限制是为防止DOS攻击设定的,默认最大像素数为89478485,本文记录解决方案。

问题复现

Python 加载大尺寸图像时报错:

1
Image size exceeds limit of 89478485 pixels, could be decompression bomb DOS attack.

错误原因

这个错误是由 PIL(Python Imaging Library)库抛出的,意思是图像(或者说图片)大小超过了默认的安全限制。这个限制被称为“解压缩炸弹”限制,是为了防止恶意用户利用图像文件来进行拒绝服务(DOS)攻击而设置的。

在 PIL 中,默认情况下,对于单个图像,最大允许像素数量为 89478485 像素(即大约 30,000 x 30,000 像素),如果一个图像的总像素数量超过这个限制,就会抛出 DecompressionBombWarning 异常。

解决方案

如果确定要操作这个超出限制的图像,可以考虑通过设置 Image.MAX_IMAGE_PIXELS 来禁用该限制。例如:

1
2
3
4
5
6
from PIL import Image

Image.MAX_IMAGE_PIXELS = None # 禁用解压缩炸弹限制

# 然后可以正常加载和操作大尺寸图像
image = Image.open('large_image.tif')

禁用此限制也可能导致应用程序崩溃或消耗大量内存。因此,建议在必要时才禁用此限制,并尽可能控制图像大小。

参考资料

文章链接:
https://www.zywvvd.com/notes/coding/python/python-image-max-size/python-image-max-size/