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

使用PIL的setpalette()替换调色板TIF图像颜色时报AttributeError求助

问题原因
  • 你遇到的AttributeError: setpalette报错是因为Pillow库版本迭代后废弃了setpalette方法,新版Pillow(v9.1.0及以上)中操作调色板的统一接口为putpalette,两者参数规则完全一致。
修复方案

直接修改报错行的方法名即可,修改后的代码片段如下:

# convert back to an image
im2save = Image.fromarray(img_array, mode='P')
# 替换setpalette为putpalette
im2save.putpalette(p)
im2save.save(filepath2)
补充说明

如果修改后仍有异常,可以额外检查两个点:

  • 确认原图读取时的调色板返回值正常:print(len(p)),8位调色板的长度应为768(256色*3通道RGB值)
  • 确认pond_value和ice_value属于调色板的有效索引范围(0~255),避免后续调色板映射异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 10:45:05