4

EDSDK を使用して、LiveView ストリームのホワイト バランス (RGGB) 値をプログラムで設定し、カムから直接来る JPG (および RAW) 画像の両方のホワイト バランスも設定したいと考えています。手動でライブビューとカメラ外の画像のホワイトバランスを調整するプロセスは、私には完全に明確ではなく、EDSDK マニュアルでも明確ではありません。

試行錯誤を繰り返しながら、灰色のカードの座標を指定して kEdsCameraCommand_DoClickWBEvf コマンドを発行することで、LiveView を調整しました。これはライブビューに問題ないようです:

  • ライブビューは「ClickWB」(-1)のホワイトバランス設定に切り替わります
  • カメラ設定は変更されません。カメラの撮影時の値は変更されません。
  • 「ClickWB」に設定すると、カメラの「手動WB」アイコンが消えますが、何かがおかしいようです。

どうやら、Canon の EOS ユーティリティの動作は少し異なります。PTP イベントのトレースとポーリングを使用すると、次のことがわかります。

  • ホワイトバランスをクリックすると、同様の ClickWB コマンドがカメラに送信されます。
  • 「撮影した画像に適用」をクリックすると、カメラにコマンドが送信されます
  • カメラのホワイト バランスは値 6 のままです (コンテキストに応じて、「マニュアル」、「ホワイト ポイント」、または「ホワイト ペーパー」)。
  • ライブビューも 6 に切り替わるため影響を受けます。
  • トレースは、あたかもユーザー バランスを設定するコマンドがあるかのように、「CPtpCamera::TranslateMWb」コマンドの証拠を示しています。
  • 「生の」ホワイト バランス係数は、EOS が係数が適切でないという警告を表示するので、明らかに取得できます。

RAW 画像の場合、グレー カードの RAW からホワイト バランス係数を保存し、新しい画像 (グレー カードなし) を TIFF に変換するときにこれらの係数を再適用することで、ホワイト バランスを回避しました。これは、オンカメラの JPG、ショット時のホワイト バランスには影響せず、リセット後に回復することはできません。

カメラの切断/再接続時にスタックし、(プログラムによって) 以前に調整または保存された WB 値を適用します。これは可能ですか?可能であれば、元のホワイト バランス値をコピーするにはどうすればよいですか? EDSDK を使用した手動の WBing の経験がある人なら誰でも、共有のタイプ/順序を共有できますか?

ノート:

  • Canon は EDSDK に対して公式の技術サポートを一切提供しません。
  • 古い SDK にはコマンドが含まれていることが報告されています (例: 2.5 kEdsPropID_UserWhiteBalanceData)。これに代わるものがあるはずですか?

--- 2014 年 12 月 17 日更新 ---

私は現在、Canon の EDSDK 開発者と「公式に」連絡を取り合っていますが、現在 EDSDK を介してカメラ内のカスタム ホワイト バランスを設定する公式の方法はありません。

4

0 に答える 0