Как установить FPS в библиотеке VideoCapture? - PullRequest
0 голосов
/ 17 апреля 2019

Я только что скопировал программу для обнаружения лиц по видео, но захват видео очень медленный, и я не знаю, как это исправить! Каждый раз, когда я меняю FPS, возвращается одно и то же значение, которое составляет 59,98 ... Я пробую много решений в стеке (в основном использую язык C ++ и тик или таймер), но все равно получаю тот же кадр в секунду.

 private void StartButton_Click(object sender, EventArgs e)
        {
            grabber = new VideoCapture(videoPath);
            grabber.QueryFrame();
            //System.Threading.Thread.Sleep(1000);               
            grabber.SetCaptureProperty(CapProp.Fps, 100); //fps setting  default 5      
            Console.WriteLine("Show FPS   ->>>> " + grabber.GetCaptureProperty(CapProp.Fps));
            Application.Idle += new EventHandler(FrameGrabber);  
            StartButton.Enabled = false;
        }

        void FrameGrabber(object sender, EventArgs e)
        {
            currentFrame = grabber.QuerySmallFrame(); //Orginalley use QueryFrame() method.
            Image<Bgr, Byte> currentImageFrame = currentFrame.ToImage<Bgr, Byte>();
            currentImageFrame.Resize(320, 240, Emgu.CV.CvEnum.Inter.Cubic);
            gray = currentImageFrame.Convert<Gray, byte>();

            Rectangle[] facesDetected = Face.DetectMultiScale(gray, 1.01, 7, new Size(30, 30));
            numberLabel.Text = "";
            .
            .
            .
         }
...