それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

RubyでEXIFを見る。mini_exiftoolを入れる。

rubygemsにあるDL数トップのEXIFツールはmini_exiftool。ただしこれは exiftoolを使っている。


インストールには exiftoolが必要。

brew install exiftool
gem install mini_exiftool

これで実行できるようになる。

使い方。

EXIFを読み取ってみた。

require 'mini_exiftool'
t = MiniExiftool.new "IMAG2366.jpg"
pp t.to_hash

結果

{"ImageWidth"=>2592,
 "FocalLength"=>"4.3 mm",
 "ComponentsConfiguration"=>"Y, Cb, Cr, -",
 "CreateDate"=>Mon Nov 28 18:12:45 +0900 2011,
 "ResolutionUnit"=>"inches",
 "ThumbnailLength"=>45243,
 "FileType"=>"JPEG",
 "Compression"=>"JPEG (old-style)",
 "InteropVersion"=>100,
 "ExifImageWidth"=>2592,
 "EncodingProcess"=>"Baseline DCT, Huffman coding",
 "ThumbnailImage"=>"(Binary data 45243 bytes, use -b option to extract)",
 "ColorComponents"=>3,
 "XResolution"=>72,
 "Model"=>"X06HT",
 "FilePermissions"=>"rwxrwxrwx",
 "YCbCrPositioning"=>"Centered",
 "MIMEType"=>"image/jpeg",
 "ExifImageHeight"=>1552,
 "ImageSize"=>"2592x1552",
 "Make"=>"HTC",
 "YResolution"=>72,
 "FileName"=>"IMAG2366.jpg",
 "Directory"=>".",
 "FlashpixVersion"=>100,
 "BitsPerSample"=>8,
 "FileModifyDate"=>Mon Nov 28 18:12:46 +0900 2011,
 "ExifByteOrder"=>"Big-endian (Motorola, MM)",
 "ExifVersion"=>220,
 "ISO"=>196,
 "ColorSpace"=>"sRGB",
 "YCbCrSubSampling"=>"YCbCr4:2:0 (2 2)",
 "DateTimeOriginal"=>Mon Nov 28 18:12:45 +0900 2011,
 "ExifToolVersion"=>8.77,
 "ImageHeight"=>1552,
 "FileSize"=>"746 kB",
 "FocalLength35efl"=>"4.3 mm",
 "ThumbnailOffset"=>442,
 "InteropIndex"=>"R98 - DCF basic file (sRGB)"}

いっぱい出てくるけどなんかわからん。

日付項目多すぎですよ。ありすぎてわからない。

このあたりがよく使う項目だと思われ。

Path String フルパス (ファイル名含む)
FileSize Long ファイルサイズ (byte単位)
DateTimeLastModified Date 最終更新日付
DateTimeOriginal Date 撮影日付
Make String メーカー名
Model String 機種名
ExifVersion String Exifバージョン
ExposureTime String 露出時間 (秒単位)。分数形式 例) 1/30
Flash Boolean 発光したか否
FNumber String Fナンバー。分数形式 例) 28/10
ImageLength Long 画像縦サイズ (ピクセル単位)
ImageWidth Long 画像横サイズ (ピクセル単位)