현재 비디오 파일 (일반적으로 AVI)을 가져 와서 이미지로 변환하려고하는 프로그램을 만들려고합니다. 지금까지 나는 프로세스가 완벽하게 작동하고 필요하다면 혼자 남을 수있었습니다. 그러나 속도를 위해 최적화 할 수 있는지 알고 싶습니다. 그래서 내 질문은 스트리밍 대신 청크에 의해 메모리 청크 비디오 파일의 일부를로드 할 수 있는지 경우입니다. 어쩌면 2 ~ 3 분짜리 클립을 버퍼에로드하고 처리 한 다음 2 ~ 3 분간 다시 사용할 수 있습니다. Direct Show와 OpenCV로 비디오 파일을로드하고 재생하는 방법을 살펴 보았지만 비디오를 버퍼에로드하는 것과 관련하여 아무 것도 찾을 수 없었습니다. 자습서 또는 개념에 대한 링크는 크게 감사하겠습니다.비디오 파일을 C++의 버퍼에로드합니다.
이 기능은 Windows XP/7 시스템에서 개발 될 예정입니다.
나는 그것을 이해하지만 내가 묻는 질문은 버퍼에 프레임을로드하는 방법이다. – Seb
@Seb, 버퍼에 의해 일반적으로 메모리를 의미하는 경우, 내가 말할 수있는 것은 IPLImage 유형의 큐를 생성한다는 것입니다. 일단 그 프레임을 사용할 수있게되면 간단히 프레임을 밀어 넣으면됩니다. 그 방법으로 버퍼를 생각해. –
@Wajih, 그게 효과가있는 것처럼 들리네. 이 경우 비디오 파일을 두 번 열어서 각 스레드가 필요한 이미지의 일부를 큐에 넣을 수 있습니까? 스레드 1은 비디오 파일의 0 시부 터 1시 59 분까지 가고 스레드 2는 2 시부 터 3시 59 분까지 또는 병 목이됩니까? – Seb