尝试使用Image.save(.. save_all = True,append_images = [..])从.tiff页面列表中获取多页.tiff文档时出现问题

时间:2016-11-02 10:25:14

标签: python-2.7 tiff pillow multipage

自从最初的问题以来,很多事情都得到了解决。请参阅以下评论。它仍然是最终文件只包含第一页,我没有看到任何警告或错误消息]

我看到最近版本的Pillow增加了对保存多页图像的支持,尤其是使用im_all.save的TIFF(' test.tiff',save_all = True)。

现在我不清楚如何使用.tiff页面列表来创建多页.tiff。我无法在文档中找到示例或某些指示。我是否需要将每个图像的大小调整为最终文档的大小?我和我的B& W .tiff进行了一次天真的测试,模式是" 1"

list_im=[]
im_all=Image.new("1", (2500, 3500))
for i in list_file:
     print i
     im = Image.open(path_tmp+'/'+i)
     print im.format, im.size, im.mode
     list_im.append(im)
     im.close()

im_all.save('test.tiff', save_all=True,append_images=list_im)

但我收到了错误消息

42526530005_632__0.tiff
TIFF (2445, 3472) 1
42526530005_632__1.tiff
TIFF (2448, 3474) 1
42526530005_632__2.tiff
TIFF (2451, 3471) 1
42526530005_632__3.tiff
TIFF (2454, 3471) 1
42526530005_632__4.tiff
TIFF (2459, 3471) 1
42526530005_632__5.tiff
TIFF (2467, 3472) 1
42526530005_632__6.tiff
TIFF (2452, 3471) 1
Traceback (most recent call last):
  File "master_cost_claims_analyser.py", line 1401, in <module>
    main()
  File "master_cost_claims_analyser.py", line 1398, in main
    args.all_steps)
  File "master_cost_claims_analyser.py", line 565, in cost_claim_analyser_main
    verbose)
  File "H:/DATA/Projects and Documents/Projects/ClaimsCostAnalyzer/ClaimsCostAnalyzerCode/ClaimsExtraction/get_claims_functions.py", line 176, in get_claims
    im_all.save('test.tiff', save_all=True,append_images=list_im)
  File "C:\Program Files\Anaconda2\lib\site-packages\PIL\Image.py", line 1679, in save
    save_handler = SAVE_ALL[format.upper()]
KeyError: 'TIFF'

我正在使用 python 2.7.12 枕头3.2.0

有人知道我们如何在多页.tiff文件中保存.tiff页面列表吗?我想我做错了。

由于

法比安

1 个答案:

答案 0 :(得分:0)

以下是link建议的作品:

with PIL.TiffImagePlugin.AppendingTiffWriter("./test.tiff",True) as tf:
for tiff_in in list_file: with open(tiff_in) as tiff_in: im= Image.open(tiff_in) im.save(tf) tf.newFrame()

我正在使用枕头4.0.0