planet-green.com

DxO OpticsPro用タイムラプス制作支援ツール | TimeLapse tool for DxO OpticsPro



RAW現像ソフトのDxO OpticsPro 11でタイムラプス(微速度撮影)動画制作を支援するツールを作りました。
コマンドラインで実行するPythonのスクリプトで、GitHubで公開しています。

DxOKeyFrame.py
https://github.com/SapporoTK/DxOKeyFrame.py

作例

星景タイムラプス 4K《微速度撮影》洞爺湖 | Time Lapse – Lake Tōya, Japan

(上の動画ではオリジナル曲をBGMにしてみました。)

4K Time Lapse Test (DxO OpticsPro + DxOKeyFrame.py) | タイムラプス《微速度撮影》テスト

この動画では、日の出の前後の時間帯はAvモードで撮影し、当スクリプトで拡張露出補正オプションを有効にして明るさが滑らかになるようにしています。

とはいえ、まだチラつきが出てしまうので、それが今後の課題です。
ちなみに星の軌跡はFinal Cut Pro Xのエフェクトなので当スクリプトとは関係ないです。

4Kタイムラプス《微速度撮影》モエレ沼公園 | TimeLapse – Moerenuma Park

タイムラプス 4K《微速度撮影》Sapporo city View | Time Lapse

タイムラプス 4K《微速度撮影》大通公園(札幌市)| Time Lapse – Odori Park, Sapporo, Japan


DxOKeyFrame.pyの概要

従来だと、例えば100枚の写真をインターバル撮影して、動画にした時に光量変化が滑らかになるように露出補正するためには、RAW現像ソフトで100枚を手動で調整する必要がありました。

このスクリプトを使うと、調整する必要があるのは最初と最後の2枚だけで、後は自動的に中間の写真の現像設定を行います。

また、拡張露出補正オプションをオンにすると、撮影時の絞り・シャッター速度・ISO感度を読み込み、それらを考慮した露出補正を行います。

これは例えば、絞り優先(A/Av)モードなどでインターバル撮影して、見かけの撮影結果に露出のばらつきがあっても、滑らかに連続するように露出補正してくれます。

備考:

  • トーンカーブ以外のパラメーターに対応しています。
  • オン/オフできるパラメーターは、最初の画像の設定が全ての画像に適用されます。
  • 実際のところ、露出補正・色温度などでは動作確認していますが、他のパラメーター全ては確認していません。

DxOKeyFrame.pyによるタイムラプス制作の流れ

  1. 撮影したRAW画像をDxO OpticsProに読み込ませます。
  2. DxO OpticsProで現像設定を変更すると、RAW画像と同じディレクトリに 元のファイル名 + .dop という設定ファイルが保存されます。このスクリプトではその.dopファイルを更新します。
  3. 全ファイル分の.dopファイルが必要なので、まずは現像設定のコピー&一括ペーストでいいので、とにかく全部の画像の現像設定を行ってください。
  4. キーフレームを選びます。光量変化が少ない時は最初と最後の画像だけでいいでしょう。日の出や日の入りの時間帯のように光量が短時間で急激に変化している場合は小まめに多くのキーフレームを選びます。
  5. 選択したキーフレームに対して現像設定を行います。
  6. DxO OpticsProを終了します。
  7. (**重要**)万一に備えて、RAW画像と.dopファイルをバックアップします。
  8. このスクリプトを実行して、キーフレームの中間にある画像の自動処理を行います。
  9. DxO OpticsProを起動し、正常に現像設定が更新されているか確認後、jpegに書き出し。
  10. 画像からのタイムラプス作成に対応してる動画編集ソフトか、無償ソフトのffmpegなどで動画に変換する。

注意

大事な事なので2回書きますよ。実行する前に必ずファイルのバックアップを取ってください。
スクリプトのバグ、あるいは操作のミスで、.dopファイルだけでなく、画像データそのものが壊れる可能性があります。

このスクリプトは、元々は私が個人的に趣味で使うために作ったものです。
そのため、厳密な動作テストや検証を行っていません。
それを理解していただける方のみ、利用してください。


また、本スクリプトと制作者は、はDxO OpticsPro及び開発元のDxO Labsとは一切の関係がありません。
本スクリプトに関する問い合わせをDxO Labsにしないでください。
また、本スクリプトが原因で生じたいかなる損害も、本ソフトの作者およびDxO Labsは一切責任を負いません。

推奨システム

下記の環境で動作確認しています。それ以外の環境については、動作報告していただけると嬉しいです。

  • DxO OpticsPro 11
  • Mac OS X 10.11.6
  • Python 2.7.x

カメラは、CANON EOS 5D Mark IIのRAWファイルで動作確認しています。(拡張露出補正モードを使用する場合)。
拡張露出補正モードを使用しない場合は、カメラの機種に関係なく動作するはずです。

Windowsの場合は、Mac OS/Linux系依存の処理を関数 ExitIfExistsDxOProcess() に書いてあるので、おそらく、そこだけを修正したら動作すると思います。(私はWindowsを使用してないので検証できませんが。無理に引っ張り出せばWindows機が無いことも無いのですが・・・)

セットアップ

  1. PythonとpipのインストールMacの場合は、最初からOS XにインストールされているPythonを使う方法と、Homebrewで新規にインストールする方法があります。

    お勧めはHomebrewで、最新のPythonが使えるメリットがあるのと、jpegファイルから動画に変換する歳にffmpegを利用する場合はどのみちHomebrewを導入することになるので、一緒に入れてしまった方が楽です。

    とはいえ、Homebrewはシステム開発が未経験の人には敷居が高いかもしれないので、手っ取り早く利用したい人はMac OS付属のPythonにライブラリ管理ツールのpipだけインストールするのがいいのかもしれません。

    ここでは詳しい説明は省きますので、詳細はGoogle先生に聞いてください。

    https://www.google.co.jp/search?q=インストール+python2+mac

    注意点として、Pythonはv2.x系をインストールしてください。v3.x系では動作しない可能性が高いです。

  2. pipコマンドでライブラリのインストール
    pip install exifread
    pip install pytz
    

    ※Mac標準のPythonを利用する場合は頭にsudoが必要になるはずです。

使用法

ターミナル(コマンドプロンプト)から実行します。

python DxOkeyFrame.py [--verbose] [--exposure] [--dry-run] [--help] file1 file2

file1
先頭キーフレームのRAWデータのパス。

file2
最後のキーフレームのRAWデータのパス。

–verbose or -v
途中経過を詳細に表示する。

–exposure or -e
拡張露出補正モードを有効にする。このモードを有効にするとRAWファイルから露出データを読み込むため、処理時間が長くなります。
また、exifreadライブラリが対応していないカメラの機種では予期しない結果になる可能性があります。
尚、同じ絞り・シャッター速度・ISOで撮影した写真だけならばこのオプションは不要です。

–dry-run or -d
.dopファイルは書き換えずに、処理のシミュレーションだけを実行します。安全に計算結果だけを確認したい場合などに利用してください。

–help
ヘルプメッセージを表示する。

使用例

python DxOkeyFrame.py -v -e /path/to/IMG_0100.CR2 /path/to/IMG_0220.CR2

この例では IMG_0100.CR2 から IMG_0220.CR2までの121枚を処理します。

連続して作業する時は、予め画像データのあるフォルダに移動してから作業するのがいいでしょう。

cd  /path/to/
python DxOkeyFrame.py -v -e IMG_0100.CR2 IMG_0220.CR2
python DxOkeyFrame.py -v -e IMG_0221.CR2 IMG_0360.CR2
・・・・・・

License

MIT License

コメントを残す

メールアドレスが公開されることはありません。

※ URLを含んだコメントは承認後に表示されます。

* 画像に書かれている英数字を入力してください。