我想發送一個命令來對焦相機,然後關閉自動對焦功能,然後拍照。這是爲了避免在每張照片之間聚焦的時間。這可能嗎?我有一個完整的程序,但這是最後一塊難題。Canon EDSDK Focus
3
A
回答
1
這是我發現的。
聚焦是佳能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);
希望這可以幫助別人,爲我爲此長期努力尋找。
2
有一種更精確的方法來檢測焦點開始後實際發生的情況。首先,您可以判斷焦點是否成功,並且您可以知道焦點何時完成,因此您無需等待太久。
LiveView和正常模式下的操作不同。我已經在LiveView中對它進行了測試,但文檔在正常模式下指出了一些差異。無論如何,這是LV:
使用,你做的第一命令:
MainCamera.SendCommand(CameraCommand.DoEvfAf, kEdsCameraCommand_EvfAf_ON);
然後定期檢查kEdsPropID_FocusInfo
屬性來檢測,如果一些焦點都在關注的焦點。
由於返回的焦點有justFocus
值,根據文檔應該是0或1,但它不是這樣的!在我的相機(5D Mark IV)上,文檔顯然不正確。
相反,我發現,justFocus
具有至少以下值:
- 16 =未知聚焦狀態,當前未聚焦
- 17 =聚焦成功地和聚焦暫停(在單次模式)。但是,對焦仍處於「開」模式,因此您必須使用以下命令將其更改爲「關」,否則某些操作(如縮放)將不起作用。
- 18 =對焦失敗
- 20 =成功地專注和聚焦仍在進行中(在AF伺服模式下)
我的戰術是通過返回的焦點掃描和搜索成功或失敗的焦點。如果找到了,我會再通過調用停止調焦處理:
MainCamera.SendCommand(CameraCommand.DoEvfAf, kEdsCameraCommand_EvfAf_OFF);
相關問題
- 1. Canon EDSDK ObjectEvent_DirItemRequestTransfer
- 2. Canon EDSDK 2.12+ kEdsPropID_BodyIDEx已禁用
- 3. OSX EdsOpenSession上的Canon EDSDK 2.11 exc_bad_access
- 4. mac os和canon edsdk [拍照錯誤36103]
- 5. 如何在C#中使用Canon EDSDK下載和錄製視頻?
- 6. 如何使用canon edsdk和java錄製視頻?
- 7. Canon EDSDK設備忙不能取消一半完成的圖像傳輸
- 8. 如何設置/獲取canon EDSDK 2.12拍攝的圖片的屬性?
- 9. EDSDK EdsOpenSession EXC_BAD_ACCESS信號
- 10. 在發佈中找不到EDSDK dll
- 11. Canon SDK(EdsGetPropertyDesc)
- 12. Add Focus on Focus
- 13. Canon EDSDK在Mac OS 10.7.5上使用EXC_BAD_ACCESS在非常基本的程序上崩潰
- 14. EDSDK 2.11和XCode 4.5.1
- 15. C++控制從EDSDK
- 16. $ find(「id」)。focus()和$(「#id」)。focus()
- 17. 用edsdk加載cr2時出錯
- 18. Canon SDK。從相機拍照
- 19. 通過網絡連接使用EDSDK(或不)的佳能相機
- 20. 從.focus
- 21. UITextField focus
- 22. Multixterm Focus
- 23. EDSDK CPP錯誤:10 EDS_ERR_MISSING_SUBCOMPONENT
- 24. EDSDK回調不起作用
- 25. 佳能EDSDK MemoryStream圖片
- 26. 使用Android NDK實現EDSDK
- 27. .focus()不能在.focus()事件中工作
- 28. UserControl Focus Issue - Focus()有時會返回false
- 29. EDSDK事件來檢測拍攝的圖片
- 30. edsdk c#pinvoke函數EdsCreateMemoryStream已經不平衡
您好,我無法找到只關注性能。我有PropertyID.FocusInfo,我找不到它的任何值。一個幫助深受讚賞,Regards – smoothumut
它已經很長一段時間了,我正在使用一些EDSDK包裝器C#,它涵蓋了一些東西。但是,如果您檢索FocusInfo屬性的數據,則應該得到一個EdsFocusInfo結構,其中一部分是focusPoint數組(EdsFocusPoint結構)。每個焦點都有自己的justFocus變量。 –