[ OPによる編集#1:この質問は、ExifToolフォーラムの複製スレッドで、 exiftool作成者/メンテナのPhil Harveyによってかなりよく回答されていることがわかります ]
[ OPによる編集#2:ExifToolからのFAQ:ExifToolは、すべてのメタデータを削除しようとしたときに、ファイルからメタデータを完全に削除することは保証されていません。「ライターの制限」を参照してください。]
現在のバックアップドライブにない写真を古いハードドライブで検索したいのですが。形式には、jpg、png、tifなどのほか、さまざまな未加工形式(カメラモデルやメーカーが異なる)が含まれます。
私は画像自体の一意性にのみ関心があります。たとえば、exifタグの値、特定のexifタグ自体の有無、埋め込まれたサムネイルなどの違いによるものではありません...
まったく同じ画像の異なるコピー間で破損やデータの破損が発生することはないと思いますが、サイズ変更や色の変更による違いだけでなく、それを検出したいと思います。
[ OPによる#3の編集:明確化:わずかな割合の誤検出が許容され(ファイルが一意でない場合は一意であると結論付けられます)、誤検出は非常に望ましくありません(ファイルが重複であると誤って結論付けられます)。 ]
私の計画は、すべてのメタデータを取り除いた後、md5sumsに基づいて一意性を識別することです。
メタデータを削除するにはどうすればよいですか?
ウィルexiftool -all= <filename>
で十分?
find $dir -type f -regextype posix-extended -regex ".*\.(jpg|png|<...>|cr2|raw|raf|orf)"
ところ<...>
、他のサフィックスのAA束を意味します。
convert image.jpg - | md5sum
(ImageMagick)で適切なMD5合計が得られるかどうかを試すことができます。
file
RAW画像形式の検出に失敗しfind
、拡張機能でのみ機能します(自分が持っているものをより