我有一个多页的tiff文件(merged.tiff),我需要从中提取原始格式的单个图像。PIL允许您遍历页面,并以我需要的格式(png/jpg)将它们写入磁盘。例如:
from PIL import Image
img = Image.open('merged.tiff')
for i in range(img.n_frames):
try:
img.seek(i)
img.save(f'individual_{i}.jpg')
img.save(f'individual_{i}.png')
except EOFError:
break但是有没有办法知道这些图像的原始格式呢?我尝试过使用tifffile和tiffany,它们允许我将页面转换为numpy数组,然后作为图像写入磁盘,但它们不允许我知道TIFF文件中包含的图像的源格式。
发布于 2021-02-14 19:24:35
在最一般的情况下,我认为这是不可能的,因为获取JPEG图像并将其作为未压缩的RGB数组包含在TIFF文件中是完全可行的。
但实际上,您应该能够查看TIFF文件的一些标签,例如Compression,以对图像过去是什么做出有根据的猜测。可以使用像tiffinfo和tiffdump这样的工具(来自libtiff包)来检查TIFF文件。
https://stackoverflow.com/questions/66193414
复制相似问题