У меня есть папка с несколькими тысячами RGB-файлов с 8-битовым каналом на моем компьютере, разрешение которых варьируется от 2000x2000 до 8000x8000 (поэтому большинство из них очень большие).
Я хотел бы сохранить небольшое значение, такое как хэш, для каждого изображения, чтобы в будущем у меня было значение, с которым можно легко сравнить, чтобы увидеть, не изменились ли какие-либо файлы изображений. Существует три основных требования ввычисление этого значения:
- Расчет этого значения должен быть быстрым
- Результат должен отличаться, если ЛЮБАЯ часть файла изображения изменяется, даже в малейшей степени, даже если меняется только один пиксель.(Хеш не должен принимать во внимание имя файла).
- Столкновения в принципе никогда не должны происходить.
Есть много способов, которыми я мог бы воспользоваться, например, sha1, md5,и т. д., но настоящая цель здесь - это скорость, а на самом деле просто очень быстрый способ определить, было ли какое-либо изменение в изображении.
Как бы вы достигли этого в Python?Какой конкретный алгоритм хеширования вы рекомендуете для скорости?Или вы можете придумать другой способ для достижения моих трех целей в целом?