0

私は EDSDK 2.14 を使用する C++ の新しいプログラマーです。Canon EOS 5D Mark II を使用していますが、いくつか質問があります (API、カメラ セッション、ハンドラー、容量の設定を開始し、プログラムで写真を撮り、カメラに正しいパラメーターを設定し、Windows を使用しています)。いくつかのイベントを処理するためのメッセージ):

1) 写真をホスト pc に保存する必要があります。これは正しく行っていますが、カメラは内部バッファーに 8 枚の写真しか許可しておらず、パラメーター (AV、TV、ISO 速度) の組み合わせをテストする必要があります。「s」を押すと(Windowsメッセージ、コールバックで)10枚の写真を撮るループを作成し、8枚の写真しか撮れず、他の写真にはビジーエラーがあるため、それが内部バッファであると推測します。1 つの Windows イベントでパラメーターを正しく変更して、8 枚以上の写真を撮るにはどうすればよいですか? ps: セッションを再開しようとしました (カメラでセッションを閉じて再度開く) が、転送 (画像のダウンロード) のイベント ハンドルがオブジェクトのリリースでのみ設定されたため、良い考えではありませんでした。

2) 1 枚の写真を取得してダウンロードしようとしましたが、できませんでした。's' を押すと、プログラムは 8 枚の写真を撮るのを待ち、その後、カメラはすべての画像をダウンロードするためにハンドルにイベント コールバックを送信します。「s」を押すと、プログラムが 1 枚の写真を撮り、ダウンロードして他の写真を撮ります。可能であれば、どうすればよいですか?

3) AV、TV、ISO 速度パラメーターを設定するメソッドを作成すると、写真を撮るのに間に合うようにカメラに送信されるか、カメラのコールバックのようなものを待つ必要があります。そのようなものが必要な場合、どのイベントを使用する必要がありますか? ps: 私のプログラムはすべて非同期です。スレッドを使用しておらず、コールバックとウィンドウ イベントのみを使用しています。

4) 正しい焦点を当てようとしてインターネットで検索しましたが、それはライブビューでのみ可能であると言う人もいました。私のアプリケーションではこれを使用できません。ライブビューなしでフォーカスを変更することはできますか? ps: 良い写真と私のプログラムでカメラのオートフォーカスが必要なので、EOS Utility のような同じ品質の画像を行っていません。撮影した画像に後処理があるかどうかを考えています。

さらに質問がある場合、または質問を解決した場合は、すべてのコミュニティに回答します. 私の英語について申し訳ありません。私はこの言語のネイティブではありませんが、最善を尽くしています。

4

1 に答える 1

0

広告 1) 2 で試すように、カメラの内部バッファ オーバーフローの前に画像をダウンロードする必要があります。

広告 2) 最初のショット コマンドを送信した後、プログラムが何らかの形で「グローバル」イベント ループに戻ることを確認します。これにより、EDDSK がカメラ イベントを処理し、「ダウンロード可能」イベントをコールバックに送信する機会が与えられます。そこから取って

広告 3) これらのイベントが適用されるかどうかは保証されません。プロパティ変更イベント ( kEdsPropertyEvent_PropertyChanged) にアタッチするか、しばらくしてからポーリングすることをお勧めします。

広告 4) ライブビューとレンズベースの AF を使用できます。後者については、kEdsCameraCommand_ShutterButton_Halfway

プロジェクトの目標を共有してみませんか?

于 2014-10-18T10:58:39.340 に答える