private static double getFps(CvCapture capture) { while (capture.QueryFrame() == null) { /* start camera */ } 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; }
void Start () { moveVec = new Vector3(0,0,0); cap = CvCapture.FromCamera (0); w = new CvWindow("Original"); IplImage frame = cap.QueryFrame (); cols = frame.Width; rows = frame.Height; myTexture2D = new Texture2D(cols/2, rows/2); prvs = new IplImage(cols, rows, BitDepth.U8, 1); frame.CvtColor (prvs, ColorConversion.BgrToGray); }
public BgSubtractorMOG() { using (CvCapture capture = new CvCapture(Const.MovieHara)) // specify your movie file using (BackgroundSubtractorMOG mog = new BackgroundSubtractorMOG()) using (CvWindow windowSrc = new CvWindow("src")) using (CvWindow windowDst = new CvWindow("dst")) { IplImage imgFrame; using (Mat imgFg = new Mat()) while ((imgFrame = capture.QueryFrame()) != null) { mog.Run(new Mat(imgFrame, false), imgFg, 0.01); windowSrc.Image = imgFrame; windowDst.Image = imgFg.ToIplImage(); Cv.WaitKey(50); } } }
void Awake() { _cap = new CvCapture(0); _capImage = _cap.QueryFrame(); _capRgbImage = new IplImage(_capImage.Width, _capImage.Height, BitDepth.U8, 3); Debug.Log(string.Format("Capture info : size{0}", _capImage.Size)); _capGrayImage0 = new IplImage(_capImage.Size, BitDepth.U8, 1); _capGrayImage1 = new IplImage(_capImage.Size, BitDepth.U8, 1); _pyramidImage0 = new IplImage(new CvSize(_capImage.Width + 8, _capImage.Height/3), BitDepth.U8, 1); _pyramidImage1 = new IplImage(new CvSize(_capImage.Width + 8, _capImage.Height/3), BitDepth.U8, 1); _eigImage = new IplImage(_capImage.Size, BitDepth.F32, 1); _tmpImage = new IplImage(_capImage.Size, BitDepth.F32, 1); Cv.ConvertImage(_capImage, _capGrayImage0, 0); width = _capImage.Width; height = _capImage.Height; _opticalFlowWinSize = new CvSize(opticalFlowWinSize, opticalFlowWinSize); _opticalFlowCrit = new CvTermCriteria(CriteriaType.Iteration | CriteriaType.Epsilon, ofCritIterations, ofCritError); _prevTime = _currTime = UnityEngine.Time.time; }
private void videoAçToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog opd = new OpenFileDialog(); if (opd.ShowDialog() == DialogResult.OK && opd.FileName.Length > 3) { cap = CvCapture.FromFile(opd.FileName); img = cap.QueryFrame(); uLastFrame = (UInt16)cap.FrameCount; Size newSize = new Size(img.Width, img.Height); ekran.Size = newSize; ekran.Image = img.ToBitmap(); uCurrentFrameNo = 1; frameText.Text = uCurrentFrameNo.ToString(); newVideoOpened = true; } }
private void FormatVideo() { cap = CvCapture.FromFile(fileName); uLastFrame = (UInt16)cap.FrameCount; img = cap.QueryFrame(); CvVideoWriter newVideo = new CvVideoWriter("videoFormated.avi", FourCC.Default ,cap.Fps, img.Size); setProgressBarMargins(0, uLastFrame); for (int i = 1; i < uLastFrame; i++ ) { img = cap.QueryFrame(); if (img == null) break; newVideo.WriteFrame(img); setProgressBarValue(i); } newVideo.Dispose(); setProgressBarValue(0); }
private void workerDoReadVideo(object sender, DoWorkEventArgs e) { using (var capture = new CvCapture(@"..\..\Videos\drop.avi")) { var interval = (int)(1000 / capture.Fps); IplImage image; while ((image = capture.QueryFrame()) != null && _worker != null && !_worker.CancellationPending) { _worker.ReportProgress(0, image); Thread.Sleep(interval); } } }