Przechwytywanie wideo OpenCV i problem fps
Przechwytuję wideo z mojej kamery za pomocą OpenCV na MacOSX. Działa dobrze, ale gdy próbuję odtwarzać w QuickTime, moje przechwycone wideo jest odtwarzane zbyt szybko. tj. przechwytuję z aparatu przez 10 sekund, ale gdy gram w QuickTime, wideo wynosi 2 sekundy.
Próbowałem zmienić fps z 25 na 10 i działa całkiem dobrze, ale jestem pewien, że nie jest to poprawny proces:
CvVideoWriter *writer = 0;
int isColor = 1;
int fps = 25;
int frameW = 640; // 744 for firewire cameras
int frameH = 480; // 480 for firewire cameras
Problem polega na tym, że na razie muszę przechwytywać za pomocą WebCam, ale prawdziwym problemem programu jest przechwytywanie obrazu z dowolnego zewnętrznego źródła podłączonego do mojego Maca.
Używam tego kodu do przechwytywania:
for (;;) {
cvGrabFrame(capture)
image = cvRetrieveFrame(capture);
cvWriteFrame( writer, image );
}
Jakaś podpowiedź? Pokazuję także wyjście kamery internetowej na cvNamedWindow, jak mogę poprawić jakość w tych oknach?
wielkie dzięki wszystkim!
Andrea!