[ EDIT №1 від OP: Виявляється, на це питання досить добре відповів автор / технічний супровід exiftool Філ Харві у двох примірниках на форумі ExifTool ]
[ EDIT # 2 від OP: З питань поширених запитань ExifTool : ExifTool не гарантує повне видалення метаданих з файлу при спробі видалити всі метадані. Див. "Обмеження для сценариста".]
Я хотів би шукати на своїх старих жорстких дисках фотографії, які не є на моєму поточному резервному диску. Формати включають jpg, png, tif тощо ..., а також різні неочищені формати (різні моделі камер та виробники).
Мене цікавить лише унікальність самого зображення, а не унікальність через різницю, скажімо, значень тегів exif, наявність / відсутність заданого тегу exif, вбудованих ескізів тощо ...
Незважаючи на те, що я не сподіваюся знайти корупцію / гниття даних між різними копіями ідентичних зображень, я хотів би виявити це, а також відмінності внаслідок зміни розміру та зміни кольору.
[ Редагувати №3 від OP: Для уточнення: невеликий відсоток помилкових позитивних даних є допустимим (файл укладається унікальним, коли його немає), а помилкові негативи вкрай небажані (файл помилково вважається дублікатом). ]
Мій план полягає в тому, щоб визначити унікальність на основі md5sums після зняття будь-яких метаданих.
Як я можу зняти метадані?
Буде exiftool -all= <filename>
достатньо?
find $dir -type f -regextype posix-extended -regex ".*\.(jpg|png|<...>|cr2|raw|raf|orf)"
де <...>
означає кучу інших суфіксів.
convert image.jpg - | md5sum
(ImageMagick) дають вам належні суми MD5.
file
не вдасться виявити формати зображень RAW іfind
працюватиме лише над розширеннями (можливо, буде корисно описати, що у вас є)