Код преобразует изображение в оттенки серого и изменяет его размер до 32x32 пикселей.Это означает, что все детали будут потеряны, и вы просто получите общее представление о цвете / яркости в 1024 точках независимо от формы или размера исходного изображения.
Затем он делает это и для второго изображения, а затемимеет 1024 яркости для каждого изображения.Он вычитает абсолютную разницу между каждой парой яркостей путем вычитания, а затем суммирует все различия.
Если изображения идентичны, различия будут равны нулю, а результат будет низким.Если изображения очень разные, они будут иметь разную яркость в каждой области, и сложение этих различий приведет к большому числу.
Это похоже на "Перцептивный хэш" , если вы чувствуетекак Googling.
Вот мистер Бин и 8x8 серая версия - представьте, что это вектор из 64 чисел:
Вот числа:
255 253 255 207 124 255 254 255 255 252 255 178 67 245 255 254 255 255 255 193 154 255 255 255 255 249 183 142 192 253 251 255 255 216 92 180 156 215 254 255 255 181 96 179 115 194 255 254 255 153 95 175 92 102 246 255 255 112 98 163 97 50 195 255
Вот Паддингтон и 8x8 серая версия - он тоже теперь всего 64 числа:
Вот цифры:
247 244 166 123 114 65 0 2 223 235 163 65 30 48 20 0 218 197 59 61 110 37 32 0 140 67 14 149 183 65 7 2 57 25 64 175 169 69 0 2 51 29 57 131 112 31 3 0 60 63 59 38 14 51 32 0 59 87 61 13 11 53 46 0
Тогда математика легко:
abs(255-247) + abs(253-244) + abs(255-166) ...