我想创建一个程序,将重复的图像发现到目录中,类似于this app,我想知道确定两个图像是否相同的算法是什么。 欢迎提出任何建议。
答案 0 :(得分:0)
此任务可由perceptual-hashing解决,具体取决于您的用例,并结合一些负责高维最近邻搜索的数据结构(kd-tree,ball-tree,... )(可以在某种程度上取代蛮力搜索。)
图像有很多方法:基于DCT,基于小波,基于统计,基于特征,CNN(等等)。
他们的设计通常基于对任务的不同假设,例如是否允许轮换?
A google scholar search on perceptual image hashing会列出很多论文。您还可以查找术语图像指纹识别。
Here is some older ugly python/cython code doing the statistics-based approach
备注:Digikam也可以为您做到这一点。我认为它正在使用一些较旧的基于Haar-wavelet的方法。