RubyでEXIFの情報を読み取る
カメラをレンタルしたことは以前の記事で書きました。このカメラ「Canon PowerShot G5 X Mark II」で撮影した 「RAWファイル」のEXIF情報をプログラムから読み取るのが今回の話です。
前回(下記)の記事の続きになります。
目次
1. EXIFとは
EXIF(Exchangeable Image File Format)は、デジタルカメラやスマートフォンなどのデジタル画像ファイルに埋め込まれるメタデータのフォーマットです。EXIF情報は、画像の撮影時の詳細な情報や設定値を含んでおり、以下のような情報を提供します。
撮影情報: カメラのメーカーやモデル、撮影日時、シャッタースピード、絞り値、ISO感度などの技術的な詳細が含まれます。これにより、画像の撮影条件や設定がわかります。
カメラ設定: カメラの設定に関する情報が含まれます。露出モード、ホワイトバランス、フラッシュの使用、焦点距離、レンズの情報などが含まれます。
位置情報: カメラやスマートフォンのGPS機能が有効になっている場合、撮影場所の緯度と経度の情報が含まれます。これにより、画像が撮影された位置を特定することができます。
2. mini_exiftoolモジュールのインストール
1. exiftoolをインストールします。
① 公式ドキュメントの
MacOS Package の「ExifTool-XX.dmg」のリンクをクリックしてダウンロードします
② ダウンロードした 「dmg」ファイルをダブルクリックして、インストールを完了します。
「開発元が未確認のため開けません」のエラーが出た場合は次の記事を参考にして下さい。
③ ターミナルで 「exiftool -ver」コマンドを打ちバージョンが表示されることを確認する。
exiftool -ver
12.62
2.RubyGemsを使ってmini_exiftoolをインストールします。
gem install mini_exiftool
Fetching mini_exiftool-2.10.2.gem
+-----------------------------------------------------------------------+
| Please ensure you have installed exiftool at least version 7.65 |
| and it's found in your PATH (Try "exiftool -ver" on your commandline).|
| For more details see |
| https://exiftool.org/install.html |
| You need also Ruby 1.9 or higher. |
| If you need support for Ruby 1.8 or exiftool prior 7.65 install |
| mini_exiftool version < 2.0.0. |
+-----------------------------------------------------------------------+
Successfully installed mini_exiftool-2.10.2
Parsing documentation for mini_exiftool-2.10.2
Installing ri documentation for mini_exiftool-2.10.2
Done installing documentation for mini_exiftool after 0 seconds
1 gem installed
3. RAWデータの EXIF情報を取得
次の写真のEXIF情報を読み取ります。
プログラム
require 'mini_exiftool'
file_path = '/Volumes/Untitled/DCIM/100CANON/IMG_9710.CR3'.freeze
photo = MiniExiftool.new(file_path)
puts "カメラメーカー: #{photo['Make']}" # カメラのメーカ名
puts "モデル: #{photo['Model']}" # カメラのモデル名
puts "撮影日: #{photo['DateTimeOriginal'].strftime('%Y年%m月%d日')}" # 撮影日
結果
$ ruby exif_info.rb
カメラメーカー: Canon
モデル: Canon PowerShot G5 X Mark II
撮影日: 2023年06月01日
ちなみに最終目的は、「日付_モデル名_場所」のフォルダーを 作って、RAWデータをLightroom管理下のフォルダーに振り分けることです。
ですから、EXIFから取得する項目としては、「モデル」と 「撮影日」が取得出来れば目的は達成出来ます。
次へ続きます。(予定)
この記事が気に入ったらサポートをしてみませんか?