public static void CamTracking(Mat curImg, VidLoc.RealTimeTrackLoc realTimeTrack, PreVidStream vidProvider, IDriver driver, BreakDiffDebugReporter debugReporter) { //realTimeTrack.CurPos = image1Ind; realTimeTrack.LookAfterReset(); if (!realTimeTrack.ShouldStop()) { int origImageInd = realTimeTrack.CurPos; debugReporter.ReportInProcessing(true); VidLoc.FindObjectDown(vidProvider, curImg, realTimeTrack, debugReporter); debugReporter.ReportInProcessing(false); //var lookBackCount = 0; //while (realTimeTrack.diff < 0.5 && lookBackCount < 3) //{ // driver.Stop(); // realTimeTrack.LongLook(); // VidLoc.FindObjectDown(vidProvider, curImg, realTimeTrack, debugReporter); // //info.Text = text = $"Tracked vid at ${image1Ind} cam at ${image2Ind} next point ${realTimeTrack.NextPos} ${realTimeTrack.vect} ===> diff {realTimeTrack.diff} LB {lookBackCount}"; // //Console.WriteLine(text); // lookBackCount++; //} vidProvider.Pos = origImageInd; } driver.Track(realTimeTrack); //if (debugReporter.DebugMode) //{ //Mat m1 = vidProvider.GetCurMat(); //breakAndDiff(m1, curImg, debugReporter); //} }
public void SaveVid(Mat mat) { ShiftVecDector.ResizeToStdSize(mat); RecordToVW(mat); if (prevMat != null) { var diff = VidLoc.CompDiff(prevMat, mat, null); Reporter.InfoReport($"At {curVidNum} diff {diff.Vector.X} {diff.Vector.Y}", false); if (Math.Abs(diff.Vector.X) < 0.01 && Math.Abs(diff.Vector.Y) < 0.01) { return; } File.AppendAllText(VectFileName, $"{diff.Vector.X} {diff.Vector.Y} {diff.Vector.Diff}\n"); Reporter.ShowProg(curVidNum, $"{diff.Vector.X} {diff.Vector.Y}"); prevMat.Dispose(); } prevMat = new Mat(); mat.CopyTo(prevMat); mat.Save($"{folderName}\\vid{curVidNum}.jpg"); Reporter.ShowProg(curVidNum,""); curVidNum++; File.WriteAllText($"{folderName}\\{VideoUtil.VIDINFOFILE}", curVidNum.ToString()); }
public void CamTracking(Mat curImg, VidLoc.RealTimeTrackLoc realTimeTrack, PreVidStream vidProvider, IDriver driver, BreakDiffDebugReporter debugReporter) { VidLoc.CamTracking(curImg, realTimeTrack, vidProvider, driver, debugReporter); }