EXIF情報
exif情報とは, jpeg画像の付帯情報のこと。
Linuxではjheadコマンドで見える:
$ jhead image.jpg
しかし, exiftoolコマンドの方が, はるかにたくさんの情報が表示される!
Exiftool
インストール
sudo apt-get install libimage-exiftool-perl
普通にタグ情報表示。タグ名のかわりにわかりやすい説明。
$ exiftool dc_2018_316_1429+0900_UTB__f02fa.jpg ExifTool Version Number : 11.88 File Name : dc_2018_316_1429+0900_UTB__f02fa.jpg Directory : . File Size : 53 kB File Modification Date/Time : 2019:09:27 14:57:32+09:00 File Access Date/Time : 2022:01:28 13:08:14+09:00 ...
タグ名を表示して情報表示
$ exiftool dc_2018_316_1429+0900_UTB__f02fa.jpg -s ExifToolVersion : 11.88 FileName : dc_2018_316_1429+0900_UTB__f02fa.jpg Directory : . FileSize : 53 kB FileModifyDate : 2019:09:27 14:57:32+09:00 FileAccessDate : 2022:01:28 13:08:14+09:00 ...
↑タグを書き換えたいときとかは, タグ名を知りたいのでこれが便利。
タグ名を指定して特定タグを表示
$ exiftool dc_2018_316_1429+0900_UTB__f02fa.jpg -File:FileModifyDate File Modification Date/Time : 2019:09:27 14:57:32+09:00
タグ名を指定して特定タグを表示、ただしタグ名は表示しない。
$ exiftool dc_2018_316_1429+0900_UTB__f02fa.jpg -File:FileModifyDate -s -s -s 2019:09:27 14:57:32+09:00
↑-sオプションを3回つける!
GPS情報をコピーする:
exiftool -tagsfromfile コピー元ファイル.jpg -gps:all コピー先ファイル.jpg
コメントを追加
exiftool -comment="photo by Kenlo Nasahara." ファイル.jpg
コメントはusercommentというタグにも入れられる。日本語(Unicode)が使える!
exiftool -usercomment="てすと" test.jpg
撮影場所の名前をジオタグに記述
exiftool -GPSAreaInformation="Koishikawa Bot. G., Tokyo" ファイル.jpg
タイムスタンプを2時間3分4秒だけ進める
exiftool -alldates+=2:3:4 *cimg*jpg
これを-=にすると後戻り。
タイムスタンプを1年2ヶ月3日 4時間5分6秒だけ進める https://sgry.jp/blog/2017/01/01/4002/
exiftool -alldates+="1:2:3 4:5:6" *cimg*jpg
タイムゾーンを設定(↓この例では+06:00) setting time zone shift
exiftool -OffsetTimeOriginal=+06:00 filename.jpg
緯度経度を手動で設定
exiftool -GPSLatitudeRef=N -GPSLatitude="36.0886864" -GPSLongitudeRef=E -GPSLongitude="140.1078778" test.jpg exiftool -GPSLatitudeRef=N -GPSLatitude="36 12 23.4" -GPSLongitudeRef=E -GPSLongitude="140 11 22.3" test.jpg
ジオタグのみを消去
exiftool -GPS:all= file.jpg ↑ =の後に空白を置くこと! (だから消去される)
あるタグを消去
exiftool -"XMP:FirstPhotoDate"="" GSBW6572.JPG
↑「First Photo Date」というタグを消去。タグの名前は後述の方法で調べることができる。
あれこれ
- EXIFタグは, いくつかの「グループ」に分類されている。例えば
- FILEグループ
File:FileName=2016_0501_1121_dsc06468.jpg File:Directory=. File:FileSize=1418 kB File:FileModifyDate=2016:05:04 14:19:57+09:00 File:FileAccessDate=2016:05:04 14:20:16+09:00 などなど
- EXIFグループ
EXIF:Make=SONY EXIF:Model=DSC-HX1 EXIF:Orientation=Horizontal (normal) EXIF:XResolution=72 EXIF:YResolution=72 EXIF:ResolutionUnit=inches などなど
- MakerNotesグループ
MakerNotes:FaceInfoOffset=72 MakerNotes:SonyDateTime=2016:05:01 11:21:15 MakerNotes:SonyImageHeight=1536 MakerNotes:SonyImageWidth=2048 などなど
- ↑これら(どのタグがどのグループか)を調べるには, exiftoolコマンドに-Gオプションをつければよい:
exiftool -G -args test.jpg
Exif tags
Common:
Exif.GPSInfo.GPSAltitude Exif.GPSInfo.GPSAltitudeRef Exif.GPSInfo.GPSDateStamp Exif.GPSInfo.GPSLatitude Exif.GPSInfo.GPSLatitudeRef Exif.GPSInfo.GPSLongitude Exif.GPSInfo.GPSLongitudeRef Exif.GPSInfo.GPSMapDatum Exif.GPSInfo.GPSSatellites Exif.GPSInfo.GPSTimeStamp Exif.GPSInfo.GPSVersionID Exif.Image.DateTime Exif.Image.ExifTag Exif.Image.GPSTag Exif.Image.Make Exif.Image.Model Exif.Image.Orientation Exif.Image.ResolutionUnit Exif.Image.Software Exif.Image.XResolution Exif.Image.YCbCrPositioning Exif.Image.YResolution Exif.Iop.InteroperabilityIndex Exif.Iop.InteroperabilityVersion Exif.MakerNote.ByteOrder Exif.MakerNote.Offset Exif.Photo.ColorSpace Exif.Photo.ComponentsConfiguration Exif.Photo.CompressedBitsPerPixel Exif.Photo.Contrast Exif.Photo.CustomRendered Exif.Photo.DateTimeDigitized Exif.Photo.DateTimeOriginal Exif.Photo.DigitalZoomRatio Exif.Photo.ExifVersion Exif.Photo.ExposureBiasValue Exif.Photo.ExposureMode Exif.Photo.ExposureProgram Exif.Photo.ExposureTime Exif.Photo.FNumber Exif.Photo.FileSource Exif.Photo.Flash Exif.Photo.FlashpixVersion Exif.Photo.FocalLength Exif.Photo.FocalLengthIn35mmFilm Exif.Photo.GainControl Exif.Photo.ISOSpeedRatings Exif.Photo.InteroperabilityTag Exif.Photo.LightSource Exif.Photo.MakerNote Exif.Photo.MaxApertureValue Exif.Photo.MeteringMode Exif.Photo.PixelXDimension Exif.Photo.PixelYDimension Exif.Photo.Saturation Exif.Photo.SceneCaptureType Exif.Photo.SensitivityType Exif.Photo.Sharpness Exif.Photo.WhiteBalance Exif.Thumbnail.Compression Exif.Thumbnail.JPEGInterchangeFormat Exif.Thumbnail.JPEGInterchangeFormatLength Exif.Thumbnail.ResolutionUnit Exif.Thumbnail.XResolution Exif.Thumbnail.YResolution
Uncommon
Exif.GPSInfo.0x001f Exif.GPSInfo.GPSAreaInformation Exif.GPSInfo.GPSDOP Exif.GPSInfo.GPSDifferential Exif.GPSInfo.GPSImgDirection Exif.GPSInfo.GPSImgDirectionRef Exif.GPSInfo.GPSMeasureMode Exif.GPSInfo.GPSProcessingMethod Exif.GPSInfo.GPSStatus Exif.Image.ImageDescription Exif.Image.PrintImageMatching Exif.Photo.BodySerialNumber Exif.Photo.SceneType Exif.Photo.SubjectDistanceRange Exif.Photo.UserComment
応用 - GPS日時の修正
GPSカメラで撮影した写真の日時がなんか変だ。 "Date/Time Original" には正しい値(カメラ内蔵の時計の日時)が入っているのに、GPS信号から拾う日時は変な値になっている。 具体的には、"GPS Date Stamp","GPS Time Stamp" の2つのタグの値がおかしくなっている。
$ exiftool -EXIF:DateTimeOriginal -EXIF:GPSDateStamp -EXIF:GPSTimeStamp input.jpg Date/Time Original : 2019:04:14 12:56:14 GPS Date Stamp : 2099:08:29 GPS Time Stamp : 03:56:32
... 2099年!! はるか未来!!
2019/04/04くらいまでは正常な日時が記録されていたのに、2019/04/09くらいから突然こう記録されるようになった。 GPS週数ロールオーバー の影響かも知れない。困った。 手動で"GPS Date Stamp"を上書きしよう:
$ exiftool -EXIF:GPSDateStamp=2019:04:14 input.jpg 1 image files updated
ここで注意!! GPSの時刻は世界標準時。従って, GPSDateStampも世界標準時での日付を入れねばならない。たとえば日本なら世界標準時より9時間進んでいるので, 午前0時から午後9時直前までは, 世界標準時での日付は日本標準時での日付より1日ぶん, 遅れている。従って, この時間帯(午前零時〜朝9時直前)に日本で撮った写真は, 「日本での日付」より1日前の日付を設定しなければならない!
さらに注意!! GPS週ロールオーバーは日付にだけ影響を与え, 時刻には影響しない。従って, 時刻情報は修正する必要ない。「でも実際の時刻とは違うのが表示されてるよ!」と思う人はおっちょこちょい。あなたは地方時(日本標準時)で考えていませんか?
もうひとつ注意!! exiftoolコマンドでEXIFを修正すると、"元のファイル名_original"というバックアップファイルが自動的に作成される。バックアップが必要ない場合は、-overwrite_originalオプションを付ける。
Keyword(s):
References:[とらりもんHOME]