如何在没有明确扩展名的情况下使用 MATLAB 或 python 区分.gif和.jpg文件



我有一个文件"1"、"2"、"3"等的数据库[...]。它们应该使用"1.jpg"、"2.gif"、"3.png"下载,但此信息不可用。我的问题是我如何通过打开或读取文件并知道它实际上是一个".jpg"来获取信息,或者即使是保存为 3.jpg 的图像实际上是 GIF 文件。

我想编写脚本,以便我可以自动化并获得大约 20,000 张图像的数据集的正确扩展名,因此手动逐个检查不是这里的解决方案。

更具体地扩展Lattyware的答案:

幻数:

GIF87a 签名
十六进制:47 49 46 38 37 61
ASC: G..I..F..8..7..a.

GIF89a 签名
十六进制:47 49 46 38 39 61
ASC: G..I..F..8..9..a.

JPEG 签名有一对。引用维基百科

JPEG 图像文件以 FF D8 开头,以 FF D9 结尾。JPEG/JFIF文件包含"JFIF"(4A 46 49 46(的ASCII码作为以空结尾的字符串。JPEG/Exif文件包含"Exif"(45 78 69 66(的ASCII码,也作为以空结尾的字符串,后跟更多关于该文件的元数据。

最新更新