我想知道在Python中是否有可能创建一个程序,该程序能够获取.tiff文件中的页数,然后输出它们在一起的确切页数。我是Python新手,但想尝试编写可以做到这一点的代码。这可能吗?如果是这样,请指点我的写作方向?从我的谷歌搜索,似乎我需要使用PIL。
我不认为这是可能的,但...... Python是否可以从.tiff文件中获取任何元数据信息,只需从所有文件中将它们全部添加到一起?
感谢您的帮助!
答案 0 :(得分:1)
尝试这样的事情。
from PIL import Image
img = Image.open("picture.tiff")
i = 0
while True:
try:
img.seek(i)
except EOFError:
break
i += 1
print i
答案 1 :(得分:1)
是的,这是可能的。
This answer为如何使用Python Imaging Library查看多图像TIFF数据提供了一些指导。内森的回答也给出了这种方法的具体细节。
理论上可以只查看文件的标题数据。为此,您需要research TIFF格式的二进制结构,并可能使用Python's built-in struct library来解压缩标头数据。但这是一些非常先进的东西。
使用任一解决方案,您都需要一个循环来浏览TIFF文件。 This answer会让您找到正确的路径,找到目录中的文件并循环浏览它们。
<强>更新强>
以下是完整解决方案的粗略近似值:
import os
from PIL import Image
count = 0
tiffs_path = "c:\\wherever"
for filename in os.listdir(tiffs_path):
if filename.endswith(".tiff"):
img = Image.open(filename)
while True:
try:
img.seek(count)
except EOFError:
break
count += 1
print count
这假设您关注的所有TIFF文件都在c:\wherever
。
答案 2 :(得分:0)
您可以使用
Blockquote
从PIL导入图像 testimage = Image.open(文件名,“ r”) 打印(testimage.n_frames)
Blockquote