在tiff文件中写入附加图像而不删除现有图像

问题描述 投票:2回答:1

我实际上在做的是使用imageio.mimwrite()将图像保存在tiff文件中。但是在我的脚本中,我多次打开和关闭文件,因此在保存新闻图像之前会删除现有图像。我想将现有图像保存在tiff文件中,只需添加新图像而不删除以前的图像。我没有在文档中找到任何可以帮助我的内容。

我实际上正在使用这个:imageio.mimwrite("example.tiff", image, format=".tiff")

image是一个包含整数数组的数组,每个数组代表一个图像。

此代码打开example.tiff,擦除现有图像(如果存在),并写入新闻图像。但我想像open("file.txt", "a")那样添加。

python image tiff python-imageio
1个回答
1
投票

我使用ImageMagick制作了三个不同大小的TIFF图像,用于测试:

convert -size 640x480  xc:green             green.tif
convert -size 1024x768 xc:blue              blue.tif
convert -size 400x100 gradient:cyan-yellow  gradient.tif

然后我使用了与TIFF库和tiffcp选项一起分发的工具-a,将蓝色和渐变图像附加到绿色图像,如下所示:

tiffcp -a blue.tif gradient.tif green.tif

如果我然后用ImageMagick green.tiff检查identify的内容,我看它看起来是正确的:

magick identify green.tif
green.tif[0] TIFF 640x480 640x480+0+0 16-bit sRGB 6.49355MiB 0.000u 0:00.000
green.tif[1] TIFF 1024x768 1024x768+0+0 16-bit sRGB 0.000u 0:00.000
green.tif[1] TIFF 400x100 400x100+0+0 16-bit sRGB 0.000u 0:00.000

如果我预览文件,所有三个图像都有正确的大小和颜色:

enter image description here

所以,我建议你考虑使用subprocess.run()炮轰tiffcp

© www.soinside.com 2019 - 2024. All rights reserved.