ImageMagick:Exifメタ情報やプロファイルを取り除くパラメータ
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 |
期待通りだったのは、resize、strip、thumb。 マニュアルに書いてある通りの挙動でした。一方で+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を使う。
tags:画像処理

