Skip to content →

Lytro Desktop アプリから書き出した画像ファイルにメタデータを引き継ぐ


スクリーンショット 2016-06-26 16.37.05

Lytro Desktop アプリから JPEG や TIFF 画像ファイルにエクスポートすると撮影日時などのメタデータが消えてしまうので、何とか撮影日時だけでも引き継ぎたい。。。そこで、 Lytro Desktop のデータベースを解析して、それをエクスポートした画像ファイルの EXIF に反映する Mac アプリを作りました。

前のポスト: Lytro Illum を旅行のメインカメラとして使ってみた

※ この時点での Lytro Desktop アプリのバージョンは 4.3.3 です。

Lytro Desktop は .lytrolibrary という拡張子のライブラリファイルに写真データを保存しています。これは Mac の写真アプリのライブラリファイルと同じようにパッケージなので中身を覗きます。この中に lytrolibrary.db という SQLite データベースファイルがあったので次はこれを覗いてやります。この中に picture テーブルに撮影日時データがありました。また、 picture_metadata テーブルにシャッタースピードなどの必要そうなデータが一通りありました。Lytro Desktop アプリで各写真のメタデータを確認したときに表示される項目はフラッシュ以外はそれらしきものがあったのでこれを使いいます。

picture テーブル

  • name : ファイル名(IMG_xxxx)
  • capture_date : 撮影日時

picture_metadata テーブル

  • camera_model : 機種 (”2″ だと LYTRO ILLUM。”1″ だと初代 Lytro かな。)
  • shutter_speed : シャッタースピード
  • iso : ISO
  • fnumber : F値
  • exposure_bias : EV
  • focal_length : 焦点距離
  • camera_mode : モード(3:プログラムオート、4:ISO優先、5:シャッタースピード優先)

それぞれのテーブルに同じ画像を特定する id カラムがあるので、これで2つのテーブルを結合し、EXIF に反映する元データとします。

※ なお、これらのデータは撮影時のメタデータなので、Lytro Desktop アプリで F 値などを調整したとしてもここの値は変わりません。つまり F2 付近の値のままとなります。今回はこれで良しとしました

Lytro Desktop アプリで各画像の調整が終わったら、それらを一括で特定のフォルダに JPEG 形式で書き出します。書き出されたファイルは IMG_xxxx.jpg というファイル名になり、これの拡張子なしの名前が picture テーブルのファイル名と一致します。つまり、.lytrolibrary と書き出し先のフォルダを入力とし、 lytrolibrary.db の情報を書き出した各画像ファイルの EXIF に追記してあげれば良いことになります。

ということでできた Mac アプリのスクリーンショットが冒頭の画像です。細かいところは一切実装できていないのですが、最低限必要な変換部分が動くようになりました!

おかげで、Lytro Desktop アプリで現像して書き出した画像ファイルはこれまでどおり Mac の写真アプリで管理して、Lytro Desktop アプリからは消してしまうことでデータの肥大化を解決することができました!ただ、焦点位置を変えると面白い一部のものはそのまま残しています。

とりあえず動くレベルのものですが GitHub リポジトリ です。

Published in Photo/Video Programming

Comments

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA