python-3.x - 将非常高分辨率的图像转换为 numpy 数组
问题描述
我想将一个非常高分辨率的 png 图像转换为一个 numpy 数组,但是我遇到了限制超出错误。
我正在使用 PIL 库来读取图像,并使用 np.save 来保存数组。我想知道是否有办法超过这个限制,或者通过使用其他一些库来转换图像。
I = np.array(Image.open(filepath), dtype = 'int8') np.save(outfile_path, I)
错误信息:PIL.Image.DecompressionBombError:图像大小(515558400 像素)超过 178956970 像素的限制,可能是解压炸弹 DOS 攻击。
解决方案
Set MAX_IMAGE_PIXELS
to None to disable the limit on image size. (Warning: Do this only if you trust where you are getting the images from)
from PIL import Image
Image.MAX_IMAGE_PIXELS = None
推荐阅读
- node.js - 验证后失败:userId:需要路径“userId”。任何想法如何解决这个问题?
- django - /accounts/register 处的 ValueError。无法创建用户,因为数据未验证。(django模型形式)
- c# - 灯光不包含“启用”
- postgresql - 如何获得嵌套续集模型的元素总数?
- tensorflow - 如何强制池 + 上采样以产生相同的大小?
- guitar - 无法调用 org.herac.tuxguitar.action.TGActionContext.setAttribute
- python - 如何在 Python click 函数中手动关闭类 click.File 打开的文件
- rust - 导致类型不匹配的特征对象
- python - 根据条件 Pandas 聚合子组值
- ruby-on-rails - 如何从 URL 解压缩文件,阅读它,然后根据 txt 文件(CSV 格式)更新现有数据库