如何在存储中只存储唯一图像?

How to store only unique images in storage?

我有这样的问题:我需要在某个地方(在文件系统或数据库上——不管怎样)存储一些图像。我可以使用特殊工具将新图像添加到存储中,但主要问题在于该工具应该只在存储中添加真正独特的图像。 如果使用图像所有像素的哈希和之类的方法,那么它会一直工作直到调整图像大小或图像发生变化(如果至少一种颜色改变了 1 ),那么哈希和将不同但实际上图像是相同的。 如果我使用某种 returns "similarity"% 的排序图像比较算法,那么问题在于我应该将图像与大量其他图像进行比较,并且该过程可能需要一些时间。 有人可以建议其他解决方案吗?

在创建HASH之前,将图像调整为固定大小并将其设置为B/W,然后创建HASH。

使用perceptual hash

感知散列是多媒体文件的指纹,源自其内容的各种特征。与依赖于输入微小变化导致输出剧烈变化的雪崩效应的加密哈希函数不同,如果特征相似,感知哈希彼此 "close"。