[ EDIT # 1 von OP: Es stellt sich heraus, dass diese Frage vom Exiftool-Ersteller / Betreuer Phil Harvey in einem doppelten Thread im ExifTool-Forum recht gut beantwortet wurde. ]
[ EDIT # 2 by OP: Aus ExifTool FAQ : Es wird nicht garantiert, dass ExifTool Metadaten vollständig aus einer Datei entfernt, wenn versucht wird, alle Metadaten zu löschen. Siehe 'Einschränkungen für Autoren'.]
Ich möchte meine alten Festplatten nach Fotos durchsuchen, die sich nicht auf meinem aktuellen Sicherungslaufwerk befinden. Zu den Formaten gehören JPG, PNG, TIF usw. sowie verschiedene Rohformate (verschiedene Kameramodelle und Hersteller).
Ich interessiere mich nur für die Eindeutigkeit des Bildes selbst und nicht für die Eindeutigkeit aufgrund von Unterschieden beispielsweise bei den Werten von Exif-Tags, dem Vorhandensein / Fehlen eines bestimmten Exif-Tags selbst, eingebetteten Miniaturansichten usw.
Auch wenn ich keine Beschädigung / Datenverrottung zwischen verschiedenen Kopien ansonsten identischer Bilder erwarte, möchte ich dies sowie Unterschiede aufgrund von Größenänderungen und Farbänderungen feststellen.
[ Edit # 3 by OP: Zur Verdeutlichung: Ein kleiner Prozentsatz falsch positiver Ergebnisse ist tolerierbar (eine Datei wird als eindeutig eingestuft, wenn dies nicht der Fall ist), und falsch negative Ergebnisse sind höchst unerwünscht (eine Datei wird fälschlicherweise als Duplikat eingestuft). ]]
Mein Plan ist es, die Eindeutigkeit basierend auf md5sums zu identifizieren, nachdem alle Metadaten entfernt wurden.
Wie kann ich die Metadaten entfernen?
Wird exiftool -all= <filename>
ausreichen?
find $dir -type f -regextype posix-extended -regex ".*\.(jpg|png|<...>|cr2|raw|raf|orf)"
wo <...>
bedeutet eine Reihe anderer Suffixe.
convert image.jpg - | md5sum
(ImageMagick) Ihnen die entsprechenden MD5-Summen liefern.
file
wird RAW-Bildformate nicht erkennen undfind
funktioniert nur mit Erweiterungen (es kann nützlich sein, besser zu beschreiben, was Sie haben)