gpt4 book ai didi

php - 从PNG图像中提取元数据

转载 作者:行者123 更新时间:2023-12-04 02:27:23 26 4
gpt4 key购买 nike

如何从this website之类的图像中提取元数据?我使用过exev2库,但与该网站相比,它仅提供有限的数据。是否有一些更高级的库?

我已经尝试过hacoir-metadata Python库。

Windows还如何提取图像细节(我们从属性中看到的细节)?

最佳答案

PNG文件由块组成,其中大多数是IDAT块,在平均PNG中包含压缩的像素数据。所有PNG都以IHDR块开始,以IEND块结束。由于PNG以这种方式是一种非常灵活的标准,因此可以通过构建新类型的块来扩展它-这就是Animated Animated PNG的工作方式。所有浏览器都可以看到第一帧,但是了解APNG中使用的块类型的浏览器可以看到动画。

文本数据可以存在于PNG图像中的很多地方,元数据可以存在更多的地方。 Here is a very convenient summary.您提到了“描述标签”,它只能存在于文本块中,因此我将重点关注。

PNG标准包含三种不同类型的文本块:tEXt(Latin-1编码,未压缩),zTXt(压缩,也为Latin-1),最后是iTXt,这是这​​三种格式中最有用的,因为它可以包含UTF-8编码的文本,可以压缩或解压缩。

因此,您的问题变成:“提取文本块的便捷方法是什么?”

起初,我以为pypng可以做到这一点,but it cannot


tEXt / zTXt / iTXt

阅读时被忽略。未生成。


幸运的是,枕头为此提供了支持-幽默地it was added only one day before you asked your original question

因此,事不宜迟,让我们找到一个包含iTXt块的图像:this example应该做。

>>> im = Image.open('/tmp/itxt.png')
>>> im.info
{'interlace': 1, 'gamma': 0.45455, 'dpi': (72, 72), 'Title': 'PNG', 'Author': 'La plume de ma tante'}


根据源代码,还涵盖了 tEXtzTXt

对于更一般的情况,从其他读者的角度来看,JPEG和GIF的读者似乎也对这些格式有很好的了解-因此,我建议为此使用PIL。这并不是说 hacoir-metadata的维护者不会欣赏添加文本块支持的请求请求! :-)

关于php - 从PNG图像中提取元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24983135/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com