2012-06-28 3 views
4

다음과 같은 문제가 있습니다 : 두 대의 EOS550D 카메라가 내 PC에 연결되어 있습니다. 내 프로그램에는 QThread 기반 클래스가 있는데, 이는 카메라에 명령을 보냅니다. 두 대의 카메라를 구별하는데 문제가 없으며 두 가지 모두 제어 할 수 있지만 명령은 병렬로 전송되지만 두 번째 카메라는 먼저 초점을 맞춘 후 촬영을 완료 한 후 으로 작업을 시작합니다. SDK의 제한 사항입니까 아니면 무언가 잘못 되었나요? 이 작업은 두 대의 PC 및 클라이언트/서버 아키텍처를 사용하여 수행 할 수 있지만 하나의 PC에서 시도하고 싶습니다.)EDSDK를 통한 캐논 카메라의 병렬 제어

EDSDK 및 카메라는 컨트롤 클래스에서 초기화되고 카메라 세션은 스레드에서 관리됩니다 클래스 개체. 스레드에 대한 전화 :

void CameraController::testShot() 
{ 
//some variable checks and path set-ups 
leftCameraThread->setPath(path1); 
leftCameraThread->start(); 
rightCameraThread->setPath(path2); 
rightCameraThread->start(); 
} 

스레드 실행() 함수 :

void CameraControlThread::run() 
{ 
EdsSendCommand(_camera, kEdsCameraCommand_TakePicture , 0); 
} 

EDSDK의 V2.10

+0

명령을 발행하기 전과 반환 한 후에 고정밀 타임 스탬프를 출력 할 수 있습니다. – PlasmaHH

+0

그것은 나에게 무엇을 줄까요? 간단한 테스트가있었습니다. 첫 번째 카메라를 벽으로 돌 렸으므로 약 2 초 동안 초점을 맞출 수 없습니다. 나는 2 초가 다른 명령을 보내기에 충분하다고 생각한다. –

+0

명령이 실제로 전송 된 시간 (또는 적어도 syscall이 만들어진 시간)을 알려줍니다. 따라서 1) 명령이 얼마나 오래 걸리는지와 2) 타이밍의 차이가 이미 시스템 호출을 실행하는 수준에 있는지 확인할 수 있습니다. – PlasmaHH

답변

4

SDK 2.11에서 둘 이상의 카메라를 제어 할 수 있습니다. PAG (26)

+1

향후 독자를 위해 문제에 대한 문서 요약을 게시하십시오. 참조가 사라질 수 있습니다. 그는 하나 이상의 카메라를 제어하지만 "... 두 번째 카메라는 처음 초점을 맞춘 후에 만 ​​작업을 시작합니다 ..."및 "SDK 제한이 있습니까? 아니면 내가 잘못하고 있습니까?" –

1

읽기 EDSDK 문서,이 문은 한 번에 하나의 세션을 열 수 있으며, SDK 제한 (2.10, 25 페이지)

1

EDSDK 설명서 (버전 2.15, EDSDK_API.pdf는, 섹션 2.10)

"EDSDK 한 번에 하나 이상의 카메라를 열어 세션을 지원하지 않습니다"고 주장하지만이 같은 아마 잘못 원래 포스터는 많은 OpenSession에 명령을 내리고, 명령을 내리고, 사진을 찍고, 이미지를 검색하는 등 매우 가능성이 있습니다. OP 질문은 여러 카메라를 동시에 트리거하는 것에 관한 것입니다. kEdsCameraCommand_TakePicture를 호출 할 때마다 하나의 카메라로 트리거가 전송되며 시간이 오래 걸립니다. 따라서 모든 카메라를 반복하고 kEdsCameraCommand_TakePicture를 각각 보내면 카메라가 동기화되지 않습니다. 예를 들어 16 EOS 1dx를 예로 들면 모든 이미지를 촬영하는 데 4 초가 걸립니다. SDK의 여러 카메라에 동시에 트리거를 보내는 방법을 찾지 못했습니다. (누구?) SDK의 소프트웨어 제한 외에도 USB 연결을 통해 완벽한 동기화를 달성하는 것이 불가능할 수 있습니다. 여러 카메라에서 동기화를 수행하는 권장 방법은 카메라의 트리거 커넥터와 외부 동기화 신호를 사용하는 것입니다.

1

그러나이 질문은 다소 오래되었지만 한 번에 여러 카메라를 제어하기위한 해결책을 찾았습니다. 단 하나의 프로세스에서 하나 이상의 카메라를 제어하는 ​​것이 한계 였지만 가능한 여러 카메라의 제어가 여러 프로세스 (각 프로세스 하나 카메라).

관련 문제