たたみラボ

  • about
  • member
  • r&d
  • blog
  • tatamicast

blog

RSS

ImageMagick:Exifメタ情報やプロファイルを取り除くパラメータ

icon November 29, 2006 5:47 PM by ooi1 このエントリーを含むはてなブックマーク

大井宏友です。

ImageMagickでExif情報を削除することができるという記事をさらに深掘りして、 ImageMagickのいくつかのオプションが、拡張子jpgファイル内のメタ情報をどう扱うのかを調べてみました。

テストデータ

デジカメ「Pentax Optio E20」で撮影した拡張子jpgファイルをPhotoshopCS2で開き、「Photoshop JPEG」形式で別名保存したデータを元データとしました。この形式は、規格としてはJFIF形式になりますが、その中に元々のExif情報やPhotoshop独自の情報(サムネイルなど)、リソース、ICCプロファイルなどのメタデータがたくさん含まれています。

いろいろなメタデータを含んだ画像を元データとすることで、ImageMagickの各オプションによる影響がわかりやすくなるようにしてみました。

比較したオプション

今回は、

  • +profile:指定したプロファイルを取り除く。 (Use +profile icm, +profile iptc, or +profile profile_name to remove the respective profile.)
  • strip:画像からプロファイルやコメントを剥がす。(strip the image of any profiles or comments.)

と、縮小(リサイズ)に使用する

  • resize:寸法をサイズ変更する。(resize an image.)
  • thumbnail:resizeと殆ど同じだが、 プロファイルを取り除いて小さなファイル容量の画像をつくる。(This is exactly like -resize, except that any image profiles present are also removed as they are of little importance to small image thumbnails.)

というオプションを比較してみました。

結果

 

メタデータの種類

JPEG Marker

オリジナル

+profile icm

+profile iptc

resize

strip

thumb

JFIFヘッダ

APP0

14 bytes

14 bytes

14 bytes

14 bytes

14 bytes

14 bytes

Exif

APP1

7384 bytes

7384 bytes

7384 bytes

7384 bytes

   
Photoshop IRB

APP13

15452 bytes

15452 bytes

 

15452 bytes

   
XAP/RDF

APP1

16962 bytes

16962 bytes

16962 bytes

16962 bytes

   
ICC_PROFILE

APP2

3158 bytes

3158 bytes

3158 bytes

3158 bytes

   
Adobe

APP14

12 bytes

         

 

期待通りだったのは、resizestripthumb。 マニュアルに書いてある通りの挙動でした。一方で+profileはちょっと期待はずれ?特にicm。 ICCプロファイルの拡張子がiccと.icmなので、+profile icmオプションは画像データ中のICCプロファイルを取り除いてくれることを期待していたのですが、Photoshopで埋め込んだ今回のデータからは何も取り除いてくれませんでした。 一般的にはPhotoshopくらいしかプロファウルを埋め込むソフトはないので、+profile icmオプションを使用する機会はなさそうです。

また、+profile iptcでPhotoshop IRB (Image Resource Block)が消えていきました。 PhotoshopIRBの中にはiptcメタ情報とPhotoshopサムネイルデータが含まれているので、 挙動としては間違いではないのですが、iptcだけでなくサムネイルも消えてしまうのでちょっと注意が必要です。

さらに、どのオプションでも必ずAdobeコメント?は取り除いてくれました。Adobeソフトだけが使う領域だと思いますので、ImageMagick処理後のデータには存在しないという動きは正解だと思います。

まとめ

以上の結果から、メタ情報を消したいときは次のオプションを使用するとよいことがわかりました。

画像の寸法はそのままで、メタ情報だけ消したいとき

-stripを使う。

画像をリサイズしつつ、メタ情報も消したいとき

-thumbnailを使う。

ページトップへ



(C) RECRUIT MEDIA COMMUNICATIONS CO., LTD.