OpenCV를 사용하여 한 번에 두 대의 카메라에서 캡처 한 프로그램을 작성하고 있습니다 (저는 스테레오 비전의 경우이를 수행하지 않습니다). 표준 OpenCV 기능 cvCaptureFromCAM()
을 사용하여 cvQueryFrame()
과 함께 두 개의 동일한 카메라에서 캡처를 얻으려면 while 루프 (각 캡처마다 한 번)에서 두 번 호출됩니다. cvNamedWindow
에 표시 할 때 두 카메라에서 모두 가비지 이미지를 가져옵니다.OpenCV를 사용하는 여러 대의 카메라
또는 각 카메라를 자신의 POSIX 스레드 (따라서 동일한 주소 공간)로 실행하면 두 번째 스레드에서 세분화 오류가 발생합니다. 그 이유는 원인을 파악할 수 없기 때문입니다.
마지막으로 각 카메라를 자체 프로세스 (따라서 별도의 주소 공간)로 실행할 수 있으며 모든 것이 잘 실행됩니다. 내 의심은 다른 카메라에서 각 프레임 쿼리를 수행하기 전에 획득해야하는 일종의 잠금 유형 리소스가 있다는 것입니다. 다행히도 누군가가 동일한 프로세스와 동일한 스레드에서 두 캡쳐를 얻는 방법에 대한 아이디어가 있습니다. 감사!
시도한 코드를 게시 할 수 있습니까? –