我实际上在做的是使用imageio.mimwrite()
将图像保存在tiff文件中。但是在我的脚本中,我多次打开和关闭文件,因此在保存新闻图像之前会删除现有图像。我想将现有图像保存在tiff文件中,只需添加新图像而不删除以前的图像。我没有在文档中找到任何可以帮助我的内容。
我实际上正在使用这个:imageio.mimwrite("example.tiff", image, format=".tiff")
image
是一个包含整数数组的数组,每个数组代表一个图像。
此代码打开example.tiff
,擦除现有图像(如果存在),并写入新闻图像。但我想像open("file.txt", "a")
那样添加。
我使用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
如果我预览文件,所有三个图像都有正确的大小和颜色:
所以,我建议你考虑使用subprocess.run()
炮轰tiffcp
。