[ EDIT # 1 di OP: risulta che questa domanda abbia una risposta abbastanza buona dal creatore / manutentore di exiftool Phil Harvey in un thread duplicato sul forum di ExifTool ]
[ EDIT # 2 per OP: dalle FAQ di ExifTool : non è garantito che ExifTool rimuova completamente i metadati da un file quando si tenta di eliminare tutti i metadati. Vedi "Limitazioni di Writer".]
Vorrei cercare i miei vecchi dischi rigidi per le foto che non si trovano sul mio attuale disco di backup. I formati includono jpg, png, tif, ecc ..., nonché vari formati non elaborati (diversi modelli e produttori di fotocamere).
Sono interessato solo all'unicità dell'immagine stessa e non all'unicità a causa delle differenze, per esempio, dei valori dei tag exif, della presenza / assenza di un dato tag exif stesso, delle miniature incorporate, ecc ...
Anche se non mi aspetto di trovare corruzione / marciume di dati tra copie diverse di immagini altrimenti identiche, vorrei rilevarlo, così come le differenze dovute al ridimensionamento e ai cambiamenti di colore.
[ Modifica n. 3 con OP: per chiarimenti: una piccola percentuale di falsi positivi è tollerabile (un file è considerato unico quando non lo è) e falsi negativi sono altamente indesiderabili (un file è erroneamente considerato un duplicato). ]
Il mio piano è quello di identificare l'unicità basata su md5sums dopo aver rimosso tutti i metadati.
Come posso eliminare i metadati?
Sarà exiftool -all= <filename>
sufficiente?
find $dir -type f -regextype posix-extended -regex ".*\.(jpg|png|<...>|cr2|raw|raf|orf)"
dove <...>
significa un mucchio di altri suffissi.
convert image.jpg - | md5sum
(ImageMagick) ti danno somme adeguate MD5.
file
non riuscirà a scoprire i formati di immagine RAW efind
funzionerà solo con le estensioni (potrebbe essere utile descrivere meglio ciò che hai)