見出し画像

RubyでEXIFの情報を読み取る

カメラをレンタルしたことは以前の記事で書きました。このカメラ「Canon PowerShot G5 X Mark II」で撮影した 「RAWファイル」のEXIF情報をプログラムから読み取るのが今回の話です。

前回(下記)の記事の続きになります。

目次

1. EXIFとは

EXIF(Exchangeable Image File Format)は、デジタルカメラやスマートフォンなどのデジタル画像ファイルに埋め込まれるメタデータのフォーマットです。EXIF情報は、画像の撮影時の詳細な情報や設定値を含んでおり、以下のような情報を提供します。

  1. 撮影情報: カメラのメーカーやモデル、撮影日時、シャッタースピード、絞り値、ISO感度などの技術的な詳細が含まれます。これにより、画像の撮影条件や設定がわかります。

  2. カメラ設定: カメラの設定に関する情報が含まれます。露出モード、ホワイトバランス、フラッシュの使用、焦点距離、レンズの情報などが含まれます。

  3. 位置情報: カメラやスマートフォンの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
撮影日: 20230601


ちなみに最終目的は、「日付_モデル名_場所」のフォルダーを 作って、RAWデータをLightroom管理下のフォルダーに振り分けることです。

ですから、EXIFから取得する項目としては、「モデル」と 「撮影日」が取得出来れば目的は達成出来ます。

次へ続きます。(予定) 


この記事が気に入ったらサポートをしてみませんか?