Image::ExifToolで写真のGPSデータを削除する
携帯などで写真を撮ると、GPSデータがEXIF情報として保存されます。
このEXIF情報ですが、https://addons.mozilla.org/ja/firefox/addon/5673を使うと簡単に確認することができ、しかもGoogle Mapにマッピングまでしてくれます。
便利な情報ではあるのですが、写真によっては個人情報が心配なんてこともあると思います。
ということで、Image::ExitToolを使ってEXIF情報を削除します。今回はGPS関連の情報を削除しました。
#!/usr/bin/perl # file: clear_gps.pl # usage: clear_gps.pl [photo-file] use strict; use warnings; use Image::ExifTool; my $photo = shift; my $exifTool = new Image::ExifTool; my $exifInfo = $exifTool->ImageInfo($photo); my @gpsTags = qw/GPSLatitude GPSLongitude/; for my $tag (@gpsTags) { $exifTool->SetNewValue($tag, ''); } $exifTool->WriteInfo($photo); __END__
GPSALtitude情報を削除しようとすると、以下のようなエラーになりました。*1
Error converting value for GPS:GPSAltitude (ValueConvInv)
Image::ExifToolにはexiftoolというコマンドが同梱されているので、上記のようなスクリプトを書かなくてもEXIF情報を修正・削除することが可能です。
Image::ExifTool - Read and write meta information - metacpan.org
*1:値のセットの方法が分かりませんでした