카메라 초점을 맞추기위한 명령을 보내고 자동 초점 기능을 끈 다음 사진을 찍고 싶습니다. 이것은 각 사진 사이에 집중하는 데 걸리는 시간을 피하기위한 것입니다. 이것이 가능한가? 나는 완전히 쓰여진 프로그램을 가지고 있지만 이것은 퍼즐의 마지막 부분이다.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
속성을 확인합니다.
반환 된 초점 포인트가 justFocus
이므로 문서에 따라 문서가 0이나 1이되어야하지만 내 카메라 (5D 마크 IV)에서는 문서가 틀립니다.
- 16 = 알 수없는 포커스 상태 및 현재 성공적으로
- 17 = 집중을 집중하고 (원샷 모드) 일시 정지 포커싱하지 :
- (18)는
대신에, 나는 justFocus
적어도이 값을 가지고 있음을 발견했다. 그러나 초점은 여전히 "On"모드이므로 아래 명령을 사용하여 초점을 "Off"로 변경해야합니다. 그렇지 않으면 확대와 같은 일부 작동이 작동하지 않습니다. = 초점
내 전술이 반환 초점 포인트를 스캔 성공 또는 실패 초점을 검색하는 것입니다 (AF 서보 모드에서) 아직 진행 성공적으로 집중하고 초점 =
MainCamera.SendCommand(CameraCommand.DoEvfAf, kEdsCameraCommand_EvfAf_OFF);
안녕, 난 그냥 특성에 초점을 찾을 수 없습니다. PropertyID.FocusInfo를 가지고 있는데, 그 값을 찾을 수 없습니다. 도움이 깊게, 감사합니다 감사합니다 – smoothumut
그것은 오랜 시간이 지났고 약간 것들을 커버 C#을위한 몇 가지 EDSDK 래퍼를 사용하고 있습니다. 그러나 FocusInfo 속성에 대한 데이터를 검색하는 경우 EdsFocusInfo 구조체를 가져와야하며이 구조체의 일부는 focusPoint 배열 (EdsFocusPoint 구조체)입니다. 각 포커스 포인트에는 자체의 justFocus 변수가 있습니다. –