[ EDIT # 1 da OP: Acontece que esta pergunta é muito bem respondida pelo criador / mantenedor do exiftool Phil Harvey em um thread duplicado no fórum ExifTool ]
[ EDIT # 2 by OP: do ExifTool Perguntas frequentes : O ExifTool não garante a remoção completa de metadados de um arquivo ao tentar excluir todos os metadados. Consulte 'Limitações do gravador'.]
Gostaria de procurar nos meus discos rígidos antigos fotos que não estão na minha unidade de backup atual. Os formatos incluem jpg, png, tif, etc ..., bem como vários formatos brutos (diferentes modelos e fabricantes de câmeras).
Estou interessado apenas na exclusividade da imagem em si e não na exclusividade devido a diferenças, por exemplo, nos valores das tags exif, na presença / ausência de uma determinada tag exif, nas miniaturas incorporadas, etc.
Mesmo que eu não espere encontrar qualquer corrupção / roteamento de dados entre cópias diferentes de imagens idênticas, gostaria de detectar isso, bem como diferenças devido ao redimensionamento e alterações de cores.
[ Edit # 3 by OP: Para esclarecimento: Uma pequena porcentagem de falsos positivos é tolerável (um arquivo é considerado único quando não é) e os falsos negativos são altamente indesejáveis (um arquivo é incorretamente concluído como duplicado). ]
Meu plano é identificar a exclusividade com base no md5sums após remover todos e quaisquer metadados.
Como posso retirar os metadados?
Será exiftool -all= <filename>
suficiente?
find $dir -type f -regextype posix-extended -regex ".*\.(jpg|png|<...>|cr2|raw|raf|orf)"
where <...>
significa um monte de outros sufixos.
convert image.jpg - | md5sum
(ImageMagick) fornecem somas MD5 apropriadas.
file
falharão em descobrir os formatos de imagem RAW efind
só irá funcionar em extensões (pode ser útil para descrever melhor o que você tem)