イメージファイルからメタデータを削除する方法

イメージファイルからメタデータを削除する方法

[OP編集#1:Exiftoolの創設者/メンテナンス者Phil Harveyは、記事でこの質問に対する優れた回答を提供したことがわかりました。ExifToolフォーラムに重複したトピックがあります。]

[OPの編集#2:~からExifツールFAQ:Exifツールはいいえすべてのメタデータを削除しながら、ファイルからメタデータが完全に削除されるようにします。「作成者の制限事項」を参照してください。 ]

現在、バックアップドライブにない写真を以前のハードドライブで検索したいと思います。フォーマットには、jpg、png、tifなど、さまざまな生のフォーマット(さまざまなカメラモデルとメーカー)が含まれます。

私は画像自体の固有性にのみ興味があり、EXIFタグ値の違い、与えられたEXIFタグ自体の有無、組み込みサムネイルなどによる固有性ではありません。

同じ画像のコピー間に損傷/データの破損があるとは思わないが、サイズ変更や色の変化による違いだけでなく、それを検出したいと思います。

[OPの編集#3:明確にすると、誤りの少ない割合(固有ではないファイルは一意であると見なされます)が許可されますが、誤検出は非常に望ましくありません(重複と誤って見なされるファイル)。 ]

私の計画は、すべてのメタデータを削除した後、md5sumに基づいて一意性を識別することです。

メタデータを削除する方法は?

十分でしょうかexiftool -all= <filename>

答え1

そしてimagemagick包装とJPEGだけでなく単に次のことができます。

mogrify -strip ./*.jpg

これは./、「-」で始まるファイル名に関する問題を回避するためです。

~から手動:

-strip 画像からプロファイル、コメント、またはPNGブロック(bKGD、cHRM、EXIF、gAMA、iCCP、iTXt、sRGB、tEXt、zCCP、zTXt、date)を削除します。

たくさん追加情報と注意事項ここ

これは@grochmalに似ていますが、より直接的で簡単です。

答え2

jheadJPEGファイルからイメージではなくメタデータを削除する機能。マニュアルページには次のように記載されています。

-dc

JPEGヘッダーから説明フィールドを削除します。コメントはExifヘッダーの一部ではありません。

-de

Exifヘッダーを完全に削除します。他のメタデータ部分をそのままにしてください。

-di

IPTCセクションがある場合は削除します。他のメタデータ部分をそのままにしてください。

-dx

XMPセクションがある場合は削除します。他のメタデータ部分をそのままにしてください。

-du

Exifではなく、コメントのない部分や画像に寄与しないJPEGの他の部分(Photoshopが画像に残したデータなど)を削除します。

-purejpg

画像をレンダリングするのに不要なJPEG部分を削除します。さまざまなアプリケーションによって画像に残る可能性のあるすべてのメタデータを削除します。-de -dcそしてオプション-du

答え3

これは少し古いですが、Exiftoolはうまく機能します。

メタデータ表示

exiftool photo.jpg

すべての* .jpgファイルのメタデータを表示する

注:拡張は次のとおりです。大文字と小文字の区別

exiftool -ext jpg

上記と同じですが、サブディレクトリを含みます。

exiftool -r -ext jpg .

すべてのメタデータを削除

exiftool -all= -overwrite_original photo.jpg

現在のディレクトリ内のすべての* .jpgファイルのすべてのメタデータを削除する

exiftool -all= -overwrite_original -ext jpg 

上記と同じですが、サブディレクトリを含みます。

exiftool -all= -r -overwrite_original -ext jpg .

現在のディレクトリにある* .jpgファイルのすべてのGPSメタデータを削除する

exiftool -gps:all= *.jpg

答え4

identify印刷時にMD5の代わりにImageMagickを使用してください。兆候イメージファイル。同じ署名を持つファイルを探します。署名を共有するファイルは同じ内容を持ちます。

たとえば、 files a.pngb.pngc.pngは MD5 チェックサムが異なるため異なります。

$ md5sum *
a9ee60d8237a4b3f6cdd6e57c24b1caf  a.png
e8661c4fd7761984a74945e273fd4d09  b.png
21c808d62ff9c7675c1f9ca20d2f6578  c.png

しかし、共通の署名があります。

$ identify -format "%#  %f\n" *
1c916332636b91704f212eec504c25383c90ed5d1659975a4a5895c48fe80ab8  a.png
1c916332636b91704f212eec504c25383c90ed5d1659975a4a5895c48fe80ab8  b.png
1c916332636b91704f212eec504c25383c90ed5d1659975a4a5895c48fe80ab8  c.png

したがって、彼らは重複します。

関連情報