برای کار با وب کم و دوربین دیجیتال، این مقدار را باید محاسبه کرد (شمارش تعداد فریم دریافتی در طی حداقل 3 ثانیه):
و بعد برای استفاده:
private static double getFps(CvCapture capture) { double counter = 0; double seconds = 0; var watch = Stopwatch.StartNew(); while (capture.QueryFrame() != null) { counter++; seconds = watch.ElapsedMilliseconds / (double)1000; if (seconds >= 3) { watch.Stop(); break; } } var fps = counter / seconds; return fps; }
using (var capture = CvCapture.FromCamera(index: 0)) { var fps = getFps(capture); capture.SetCaptureProperty(CvConst.CV_CAP_PROP_FPS, fps); var interval = (int)(1000 / fps);