移动视频

时间:2017-10-23 07:31:43

标签: video frame emgucv capture

抱歉我的英文,我希望在移动加载的视频时获取帧捕获,我该怎么办?例如,有一种方法,在汽车行驶时拍摄帧,但是,当道路为空时不要拍摄帧。 我的代码如下;

  VideoCapture capture = null;
  List<Mat> image_array = new List<Mat>();

        private void ProcessFrame(object sender, EventArgs arg)
        {
        Mat frame = new Mat();
        capture.Retrieve(frame, 0);
        ımageBox1.Image = frame;
        Thread.Sleep((int)capture.GetCaptureProperty(Emgu.CV.CvEnum.CapProp.Fps));
        try
        {
            string time = DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss_ffff");
            frame = capture.QueryFrame();
            Bitmap captureBitmap = new Bitmap(frame.Bitmap);
            captureBitmap.Save(@"D:\FrameCapture\Capture-" + time + ".jpg", ImageFormat.Jpeg);
            if (frame != null)
            {
                image_array.Add(frame);
            }
            else
            {
                Application.Idle -= ProcessFrame;
            }
        }
        catch (Exception)
        {
        }
    }

我想要这样的东西;

if(moved)
{
captureBitmap.Save(......)
}

我该怎么办?

0 个答案:

没有答案