public Mat Plot(ScreenProperties screen, EyeGazeCalibrater calib) { var pre = new Point3D[Data.Count]; using (var plot = Plot(screen)) { int i = 0; foreach (var item in Data) { pre[i] = item.Value.Face.GazeInfo.Vector; calib.Apply(item.Value.Face, screen); i++; } using (var newPlot = Plot(screen)) { i = 0; foreach (var item in Data) { item.Value.Face.GazeInfo.Vector = pre[i]; item.Value.Face.GazeInfo.UpdateScreenPoint(item.Value.Face, screen); i++; } var fontsize = Core.Cv.GetFontSize(HersheyFonts.HersheyComplexSmall, 0.5); var show = MatTool.New(new Size(plot.Width * 2, plot.Height), MatType.CV_8UC3); Core.Cv.DrawMatAlpha(show, plot, new Point(0, 0)); Core.Cv.DrawMatAlpha(show, newPlot, new Point(plot.Width, 0)); return(show); } } }
public EyeGazeDetector(ScreenProperties screen) { ScreenProperties = screen ?? throw new ArgumentNullException("screen properites"); sess = new Session(ModelGraphSingle); sessEx = new Session(ModelGraphExtend); sessFace = new Session(ModelGraphFace); sessFaceMobile = new Session(ModelGraphFaceMobile); sessFaceV2 = new Session(ModelGraphFaceV2); sessFaceV2Mobile = new Session(ModelGraphFaceV2Mobile); Calibrator = new EyeGazeCalibrater(); }
public EyeGazeDetector(ScreenProperties screen) { ScreenProperties = screen ?? throw new ArgumentNullException("screen properites"); Calibrator = new EyeGazeCalibrater(); }