You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python的PIL加载TIFF图片导致内核重启问题

TIFF文件加载导致Python内核崩溃的解决办法

问题描述

使用PIL加载libtiff提供的zackthecat.tif测试文件时,执行代码后无报错但Python内核直接重启。环境为Windows 10、Python 3.11.7、IPython 8.20.0,已尝试Spyder、Jupyter Notebook,安装/降级libtiff、imagecodecs均无效,matplotlib、fabio等库加载同样失败。

排查与解决步骤

  • 确认文件特性:该测试文件为32位浮点型TIFF,部分Python图像处理库对这类特殊格式的内存处理存在缺陷,易引发内存溢出导致内核崩溃。
  • 使用python-libtiff直接读取:
    安装库后执行以下代码:
    from libtiff import TIFF
    import numpy as np
    
    tif = TIFF.open('zackthecat.tif', mode='r')
    im = tif.read_image()
    # 多页文件用 tif.read_images() 获取全部页面
    
  • 分块读取避免内存过载:对于大尺寸或特殊格式TIFF,不要一次性加载整个文件,采用逐行或分块读取的方式降低内存占用。
  • 匹配依赖库版本:Python 3.11需搭配适配版本的imagecodecs(推荐2023.1.23及以上),确保库与Python版本兼容。
  • 尝试GDAL库读取:GDAL对复杂TIFF格式支持更完善,安装后用以下代码:
    from osgeo import gdal
    
    ds = gdal.Open('zackthecat.tif')
    im = ds.ReadAsArray()
    
  • 验证文件完整性:重新下载测试文件,排除文件损坏引发的读取异常。

内容的提问来源于stack exchange,提问作者Alexos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 07:43:15