识别相似图像的好方法?[已关闭]
我在PHP中开发了一个简单而快速的算法来比较图像的相似性。
它快速(对于800x600图像,每秒约40张)和未优化的搜索算法可以在22分钟内通过3,000张图像,将每个图像与其他图像进行比较(3 / 秒)。
基本概述是获取图像,将其重新缩放到8x8,然后将这些像素转换为HSV。然后,色相,饱和度和值被截断为4位,并成为一个大的十六进制字符串。
比较图像基本上是沿着两个字符串进行的,然后添加它发现的差异。如果总数低于 64,则为同一图像。不同的图像通常在600 - 800左右。低于20,非常相似。
我可以使用的此模型是否有任何改进?我还没有看过不同的分量(色调,饱和度和值)与比较的相关性。色调可能很重要,但其他人呢?
为了加快搜索速度,我可能会将每个部分的4位分成两半,并将最重要的位放在第一位,这样如果它们没有通过检查,那么根本不需要检查lsb。我不知道一种有效的方法来存储这样的位,但仍然允许它们被轻松搜索和比较。
我一直在使用3,000张照片(大多数是独特的)的数据集,并且没有任何误报。它完全不受调整大小的影响,并且相当耐亮度和对比度变化。