2011-05-06 4 views
0

저는 Python (2.7) 패키지 VideoCapture를 사용합니다. 내가 cam = Device() 사용VideoCapture : 캡처 그래프 오류

Error: Capture Graph could not be created.

, 그래서 거기에 특별한 아무것도 : 나는 장치를 초기화 할 때, 나는 예외를 얻을. 나는 문제없이 작동하는 랩톱 하나와 Exception을 얻는 다른 랩톱이 있습니다. 그것들은 다르지만 둘 다 USB-Webcam이 내장되어 있습니다.

일주일 전에 효과가 있었지만 지금은 예외가 있습니다. 둘 다 Windows 7을 사용합니다.

아무도이 문제를 해결하는 방법을 알고 있습니까? 아니면 잘못된 정보를 얻을 수 있습니까?

감사합니다.

답변

1

이 오류는 여러 가지 이유로 나타날 수 있습니다.

동시에 처음으로 프로그램을 실행했기 때문에 처음으로 발생했습니다. 다른 프로그램을 닫으면 문제가 해결되었습니다.

두 번째로 나는 두 개의 카메라를 동시에 사용하려고 할 때 스테레오 비전을 실험했습니다. 이 문제를 해결하기 위해 두 캡처 사이에 지연을 추가하고이를 실행할 수있었습니다.

import time 
from VideoCapture import Device 

cam0 = Device(0) 
cam1 = Device(1) 

for i in xrange(30): 
    cam0.saveSnapshot('video/image0_%d.jpg' % i, timestamp=1) 
    time.sleep(0.05) 
    cam1.saveSnapshot('video/image1_%d.jpg' % i, timestamp=1) 
    time.sleep(0.1) 

는이 오류 (그리고 왜 당신이 다른 노트북에 발생했을하지 않을 수 있습니다)에 대한 이유는, 일부 드라이버가 잘 동시 접속을 처리하지 않는 것이다 생각합니다. 빠른 연속으로 장치 드라이버에서 데이터를 가져 오려고하면 불충분 한 잠금이있는 일부 데이터 구조가 엉망이됩니다.

1

정말 오래된 스레드라는 것을 알고 있습니다. 나는이 장치를 두 번째로 인스턴스화 한 후에도이 오류를 계속 발생시켰다. 코드를 메인 스레드로 옮기면 문제가 해결되었습니다.

관련 문제