Python 使用Exif metada获取图片的唯一ID

Python 使用Exif metada获取图片的唯一ID,python,hash,exif,Python,Hash,Exif,我制作了一个文件爬虫,使用python读取我计算机中的所有图片(大约250k个文件),并将这些信息保存在MySQL数据库中。我还保存每个文件的所有EXIF元数据。 下一步,我想给它们添加标签,将它们与唯一的ID关联起来,但对于同一张图片,这始终是相同的,以防我再次运行爬虫程序,文件更改其位置或名称。 为此,我使用带有相关Exif信息的字符串创建了一个哈希 我考虑到这些年来我用不同的Camara或手机拍照,有些Exif标签并不存在于所有的相机中。我还看到,大多数标记没有太多不同的值可以使字符串唯一

我制作了一个文件爬虫,使用python读取我计算机中的所有图片(大约250k个文件),并将这些信息保存在MySQL数据库中。我还保存每个文件的所有EXIF元数据。 下一步,我想给它们添加标签,将它们与唯一的ID关联起来,但对于同一张图片,这始终是相同的,以防我再次运行爬虫程序,文件更改其位置或名称。 为此,我使用带有相关Exif信息的字符串创建了一个哈希

我考虑到这些年来我用不同的Camara或手机拍照,有些Exif标签并不存在于所有的相机中。我还看到,大多数标记没有太多不同的值可以使字符串唯一

即时通讯使用:

Exif_图像长度*Exif_图像宽度(图片区域) +图像\日期时间+图像\制作+图像\模型

然后把这个字符串做一个散列。我仍然得到重复的散列而不是唯一的散列

如果有人有更好的方法来做我想做的事,我会喜欢的

提前感谢,

巴勃罗


编辑:我需要为图像获取一个唯一的ID,每次处理该文件名/exif元数据时,我都会获得相同的ID,因为文件名和位置可能会更改(但exif数据将保持不变)

您有什么新想法吗?在带有exif数据的照片中,有时会有一些唯一的ID。即使您的示例convert raw=>psd=>jpg=>psd=>jpg,也应该始终是相同的

当你提到的所有数据字段都设置好时,你真的得到了重复的数据吗? 从摄影师的角度来看: 宽度+高度是非常无用的(在相机上总是一样的,除了裁剪的图像) 你们可以使用相机的序列号,包括镜头序列号 感谢创建时间,由于短时间间隔内的短突发照片,应该只存在副本

可能的错误: 修改日期/时间(例如sommer时间转换) 手动创建文件或使用剪贴板或一些奇怪的东西。
它实际上是重复的。

你的具体问题是什么?编辑我的问题以添加具体问题。谢谢