カメラの焦点を合わせるコマンドを送信してから、オートフォーカス機能をオフにしてから写真を撮りたいと思います。これは、各写真の間に焦点を合わせるのにかかる時間を避けるためです。これは可能ですか?私は完全に書かれたプログラムを持っていますが、これはパズルの最後の部分です。Canon EDSDK Focus
答えて
ここに私が見つけたものがあります。
Canon SDKには問題があります。 しかし、あなたの場合のために、私は最も簡単な方法は、このことだと思う:
MainCamera.SendCommand(CameraCommand.PressShutterButton,(int)ShutterButton.Completely);
//Wait for some time here and if the photo wasn't taken, call:
MainCamera.SendCommand(CameraCommand.PressShutterButton,(int)ShutterButton.Completely_NonAF);
//Then, in either case, call
MainCamera.SendCommand(CameraCommand.PressShutterButton,(int)ShutterButton.OFF);
それとも、あなたがこのような何かをしなければならないライブビューを使用している場合:として、
MainCamera.SendCommand(CameraCommand.DoEvfAf, 1);
//Wait for some time here
MainCamera.SendCommand(CameraCommand.DoEvfAf, 0);
MainCamera.SendCommand(CameraCommand.PressShutterButton,(int)ShutterButton.Completely_NonAF);
MainCamera.SendCommand(CameraCommand.PressShutterButton,(int)ShutterButton.OFF);
が、これは誰かに役立ちます希望を私はこれのために長く見えました。
フォーカスが開始した後に実際に何が起こっているかを検出するためのより正確な方法があります。まず、フォーカスが成功したかどうかを知ることができます。また、フォーカスが完了した時点を知ることもできます。長時間待つ必要はありません。
動作はLiveViewと通常モードで異なります。私はLiveViewでそれをテストしましたが、ドキュメンテーションはノーマルモードでいくつかの違いを述べています。とにかく、これはLVのためにある:
あなたが行ったように最初のコマンドを使用します。
MainCamera.SendCommand(CameraCommand.DoEvfAf, kEdsCameraCommand_EvfAf_ON);
を、定期的フォーカスポイントのいくつかに焦点が合うかどうかを検出するためにkEdsPropID_FocusInfo
プロパティを確認してください。
私のカメラ(5D Mark IV)では、返されたフォーカスポイントがjustFocus
なので、ドキュメンテーションによると0または1になるはずですが、そうではありません。
- 16 =不明フォーカス状態と現在正常 =着目集束及び(ワンショットモードで)一時停止しているフォーカスない:
その代わりに、私は
justFocus
、少なくともこれらの値を有していることを見出しました。ただし、フォーカスはまだ「オン」モードであるため、以下のコマンドを使用してフォーカスを「オフ」に変更する必要があります。そうしないと、ズームなどの一部の操作は機能しません。 - 18 =フォーカスが正常に焦点を合わせ、焦点=
- 20を失敗は、(AFサーボモードで)進行中
マイ戦術で返さフォーカスポイントをスキャンし、成功または失敗した焦点を検索することです。見つかった場合、私はその後呼び出すことで合焦処理を停止します。
MainCamera.SendCommand(CameraCommand.DoEvfAf, kEdsCameraCommand_EvfAf_OFF);
- 1. Canon EDSDK ObjectEvent_DirItemRequestTransfer
- 2. Canon EDSDK - オーディオレベル
- 3. C++のCanon EDSDK MultiThreading
- 4. Canon EDSDK Version 3.4取得
- 5. Canon SDK(EDSDK)はビデオストリームの指定されたサイズの領域をキャプチャします
- 6. EDSDK 2.9を使用してCanonカメラから画像を取得する
- 7. EDSDKリモートでシャッターボタンを押す
- 8. キヤノンEDSDKメモリストリーム画像
- 9. Canon SDK(EdsGetPropertyDesc)
- 10. EDSDKのDLLがリリースに見つかりません
- 11. edsdk c#pinvoke function EdsCreateMemoryStreamがスタックのアンバランスを起こしました
- 12. Strange System .__ Canon例外
- 13. Dojo ValidationTextBoxes blur focus ... on focus
- 14. DirectShowとCanon EOS 5D Mark II
- 15. Canon SDK後方互換性
- 16. angle ng-focus/focus入力要素
- 17. VSTO:Application Focus
- 18. UITextField focus
- 19. DSLR ProがWindows 64bitシステムでCanon 500Dにアクセスできるのはなぜですか?
- 20. Jquery focus outイベント
- 21. jquery focus in/out
- 22. .is(focus)vs .activeElement?
- 23. jquery tabindex/focus&hotkeys
- 24. -moz-focus-inner
- 25. Qtip on input focus
- 26. AS3:TextField Focus
- 27. nyroModal Set Focus
- 28. UICollectionViewCell to UIButton Focus
- 29. .NET SDKのサポート - CanonまたはNikon?
- 30. Canon eos t2i用USBドライバの作成
こんにちは、私はちょうど財産を集中見つけることができません。私はPropertyID.FocusInfoを持っています、私はその値のどれも見つけることができません。助けを深く感謝して、よろしく – smoothumut
それは長い時間が、私は物事をカバーするC#のいくつかのEDSDKラッパーを使用しています。ただし、FocusInfoプロパティのデータを取得する場合は、その一部がfocusPoint配列(EdsFocusPoint構造体)であるEdsFocusInfo構造体を取得する必要があります。各フォーカスポイントには、独自のjustFocus変数があります。 –