Czy jest jakiś sposób lub funkcja w OpenCV, która pozwala nam odtwarzać dowolny film ze stałą szybkością klatek (fps)? Różne filmy mogą mieć różną liczbę klatek na sekundę, ale używając biblioteki OpenCV możemy odtwarzać je według ustalonej przez nas liczby klatek na sekundę?Jak odtwarzać wideo ze stałą szybkością klatek (fps) przy użyciu OpenCV?
Z góry dziękuję.
Z pewnością zakłada, że odczyt/wyświetlenie ramki nie trwa długo i że cvWaitKey czeka dokładnie podaną wartość? (w dokumentach mówi, że to tylko minimum). – Tim
@Tim 1. Odczyt/wyświetlenie zajmuje trochę czasu, ale aby uzyskać pożądany FPS, należy tylko zadbać o interwał (opóźnienie) pomiędzy kolejnymi odczytami (lub wyświetleniami). Ramka zostanie wyświetlona później (przez jakieś nieznane opóźnienie odczytu + wyświetlenia), ale następna klatka będzie (średnio) opóźniona o ten sam (nieznany czas) i będzie idealnie w porządku. 2. W celu uwzględnienia niedokładności opóźnienia, dostosowuje się kolejną umowę w zależności od aktualnego czasu i pożądanego czasu następnego wyświetlania. Dla FPS równej 30 spowoduje to wyświetlenie ramek, np. w momentach 0, 31, 68, 99 ms, czyli blisko ideału 0, 33, 67, 100 –