2012-08-23 3 views
3

질문이 있습니다. cvQueryFrame은 정확히 무엇을합니까? 내가 이해할 때 버퍼에서 '이미 캡처 한 프레임'의 프레임을 선택합니다.cvQueryFrame이 최면술을 걸고 있습니다

내 응용 프로그램에서 각 프레임의 처리에는 1 초가 걸리지 만 카메라의 fps는 30fps입니다. 1 초가 끝난 후/현재 프레임의 관련 프로세스 처리가 끝난 후 어떻게 다음 스냅을 할 수 있습니까? 나는 낡은 구조가 싫어! 내가 두 번째 루프 실행에 대한 참조로 내가 다시 cvQueryFrame를 호출 할 때 지금

은, (, 버퍼에서 거의 1 초 다시 캡처 된 프레임을 검색합니다. 나는 모든 것을 실시간으로 할 수있는 방법

를? 어떤 도움을 정말 주시면 감사하겠습니다.

+0

문서에서 : "이 함수는 GrabFrame과 RetrieveFrame의 조합이지만 호출 중 하나입니다." 별도로 GrabFrame과 RetrieveFrame을 사용해 보셨습니까? 또한 다음을 확인하십시오. http://stackoverflow.com/questions/7248058/does-cvqueryframe-have-buffer-for-frames-in-advance – Sassa

답변

0

기본적으로 프레임을 순서대로 제공하므로 처리하는 데 시간이 오래 걸리더라도 프레임이 삭제되지는 않습니다. API는 동영상을 읽을 때도 사용됩니다 이 경우에는 의미가 있습니다.

cvQueryFrame을 계속 호출하고 별도의 스레드에서 처리 할 수 ​​있습니다. 그렇지 않으면 시스템 API를 사용할 수 있습니다 (예 : DirectShow) 또는 카메라의 API를 사용하면 일반적으로 프레임을 쉽게 놓을 수 있습니다.

관련 문제