프레임 속도와 해상도가 다른 두 대의 카메라에서 이미지를 수신하고 있습니다. 카메라 중 하나 (스마트 카메라)는 컨트롤러로 작동합니다. 다른 카메라 및 자체 이미지 센서에서 이미지를 수신 한 다음 온보드 메모리에 이미지 쌍을 저장합니다. 여기에 문제가 있습니다. 각 이미지 쌍에 스테레오 매칭을해야합니다. 따라서 이미지는 완벽하게 동기화되어야합니다 (몇 밀리 초 간격으로). 나는 두 대의 카메라를 화면상의 정지 감시 장치로 향하게하고 단지 그들이 얼마나 멀리 떨어져 있는지 볼 수있는 이미지를 캡처한다. 그것은 어느 쪽도 동기화되지 않았으며, 한 쌍 사이의 시간 오프셋도 일정하지 않다는 점에 실망 스러웠습니다. 나는 리눅스와 프로그래밍에 대해 C에서 일하고있다. 각 카메라에서 이미지를 캡처하기 위해 두 개의 posix 스레드를 시도했다. 제 1 스레드 cam1()은 이미지 캡처를 시작하기 전에 다른 스레드 cam2()에 신호를 보냅니다. 따라서 두 개의 이미지 캡쳐가 동시에 시작됩니다. 하지만이 방법도 효과가 없습니다. 나는이 점에있어서 어떤 해결책을 고맙게 생각할 것이다.두 대의 카메라의 이미지 동기화
답변
시계 동기화는 모든 센서 네트워크에서 매우 어려운 문제입니다. 나는 전문가가 아니지만 시도 할 수있는 몇 가지 해결책이 있습니다.
먼저, n.m. is right! 소프트웨어 동기화는 FPS (동일한 FPS가 있어야 함), 노출, 타임 스탬프 등을 제어해야하는 높은 FPS 상황에서 매우 어렵습니다. 카메라 동기화는 일반적으로 외부 트리거 및 동기화 I/O로 외부에서 수행됩니다.
외부 동기화 된 카메라에서 두 시계는 항상 동일하지 않습니다. 카메라 시계 크리스탈은 항상 디자인에 의해 지정된 드리프트를 가지고 있습니다. 두 이미지가 구별되는 방식으로 드리프트되고 클럭을 재설정하는 데 걸리는 시간을 계산할 수 있습니다. 나는 얼마 동안 AVT 카메라를 사용했다. The company proposes : 다른 시계 카메라 타임 스탬프를 맞추지에 관심이
사용자는 카메라 시계는 다른 시계에서 표류 점에 유의해야하고, 따라서 주기적으로 타임 스탬프를 재설정하여 다시 서로 연관 될 필요가있을 것이다.
당신이 낮은 FPS가 있고 삭제 된 프레임이 언제든지 계산 알 수있는 경우 각 프레임의 (증가) 주석라는 이름의 프레임 카운트와 동기화 할 수 있습니다.
스테레오 보정 이미지가있는 경우 기본 카메라의 이미지 (임의로 정의하거나 다른 이미지를 트리거하는 이미지)의 특정 기능은 다른 카메라를 가로 지르는 epipolar lines에 놓을 수 있습니다. 따라서 에피 폴라 선은 피쳐 (검출 된 얼룩)를 쌍으로 만들기 위해 프로그램 논리에 특정 불변성을 도입 할 수 있습니다.
그런 상세한 답변을 보내 주셔서 감사합니다. 내 문제는 다른 프레임 속도, 노출 시간, 메커니즘 등을 캡처하는 두 개의 완전히 다른 카메라가 있다는 것입니다. 어떻게 든 캡쳐를 위해 두 개의 다른 스레드를 사용하여 이미지를 동기화 할 수있었습니다. 카메라 중 하나 인 GigE가 이제 트리거 모드로 작동합니다. 다른 카메라 인 스마트 캠은 GigE 카메라에 트리거를 보내고 이미지를 수신하고 자체 센서에서 이미지를 수신합니다. 그러나 프레임을 맞추려면 스마트 카메라에서 일부 프레임을 건너 뛸 필요가 있습니다. 프레임 속도 드리프트 때문에 건너 뛰기가 때때로 정확하지 않습니다. – user846400
이제 이미지의 90 %가 완벽하게 동기화됩니다. 나머지는 일정한 오프셋을가집니다.문제는 내가 드리프트가 얼마나 많이 발생할 것인지를 결정할 방법이 없다는 것입니다. 그래서 때로는 두 프레임을 건너 뛸 때 오프셋이 생깁니다. 모든 카메라에서이 프레임 속도 드리프트가 발견됩니까? – user846400
- 1. 두 대의 컴퓨터에서 데이터베이스 동기화
- 2. 두 대의 다른 서버에서 이미지 가져 오기
- 3. PHP를 사용하는 두 대의 서버간에 MySQL 데이터베이스 동기화
- 4. 카메라의 이미지 형식 (안드로이드)
- 5. 두 대의 카메라로 머리 포즈 추정
- 6. 두 대의 컴퓨터에서 빌드
- 7. 두 대의 컴퓨터에서 개발
- 8. 쉘 구성을 여러 대의 컴퓨터에서 동기화 유지
- 9. 2 대의 컴퓨터간에 mySQL 데이터베이스 동기화
- 10. 안드로이드에서 카메라의 이미지 크기 조정
- 11. 두 개의 이미지 뷰 동기화 src
- 12. 두 대의 컴퓨터에 설치하는 설치자
- 13. 두 대의 서버에서 CDN 만들기
- 14. iOS 카메라의 이미지 회전이 AS3에 입력되었습니다.
- 15. C++에서 카메라의 이미지/데이터를 스트리밍하는 방법
- 16. Android 오버레이 4/3 카메라의 이미지
- 17. iPhone 카메라의 문제 overelay 이미지 방향
- 18. 프로젝트 카메라의 2d 지점 스테레오 교정 후 이미지 1 카메라 2 이미지 스테레오 교정 후 이미지
- 19. 두 캘린더 동기화
- 20. VBA와 두 목록 동기화
- 21. 두 스레드의 동기화
- 22. 두 개의 BindingSource 동기화
- 23. 두 스레드 동기화
- 24. 두 스레드 올바르게 동기화
- 25. 두 개의 갤러리 동기화
- 26. 두 데이터베이스 간 동기화
- 27. 두 데이터베이스간에 데이터 동기화
- 28. EDSDK를 통한 캐논 카메라의 병렬 제어
- 29. TCP/IP를 통한 두 대의 PC 사이의 시간 동기화, 서버 없음
- 30. 두 대의 서버에 GET 요청 제출
나는 카메라 전문가가 아니므로 다음은 내 무지한 의견입니다. 커널 드라이버가 관련되어 있기 때문에 이것은 간단하지 않습니다. 그들이 어떤 종류의 지연을 부과하는지 알지 못합니다. 또한 하드웨어 자체가 지연을 초래할 수 있습니다. 난 당신이 동일한 프레임 속도를 사용하여 두 캠에서 비디오를 스트리밍하고, 스트림 사이의 최고의 시간 오프셋을 찾아야한다고 생각하고 아마 프레임 속도가 드리프트 수 있으므로 오프셋을 재평가 유지. –