private void DrawFaceMask(DrawingContext drawingContext) { var faceModelPts = new List <Point>(); var faceModel = new List <FaceModelTriangle>(); var mapper = Sensor.CoordinateMapper; for (int i = 0; i < this.facePoints.Count; i++) { var facePoint = facePoints[i]; var skeletonPoint = new SkeletonPoint() { X = facePoint.X, Y = facePoint.Y, Z = facePoint.Z }; var depthImagePoint = mapper.MapSkeletonPointToDepthPoint(skeletonPoint, DepthImageFormat); faceModelPts.Add(new Point(depthImagePoint.X + 0.5f, depthImagePoint.Y + 0.5f)); } foreach (var t in faceTriangles) { var triangle = new FaceModelTriangle(); triangle.P1 = faceModelPts[t.First]; triangle.P2 = faceModelPts[t.Second]; triangle.P3 = faceModelPts[t.Third]; faceModel.Add(triangle); } var faceModelGroup = new GeometryGroup(); for (int i = 0; i < faceModel.Count; i++) { var faceTriangle = new GeometryGroup(); faceTriangle.Children.Add(new LineGeometry(faceModel[i].P1, faceModel[i].P2)); faceTriangle.Children.Add(new LineGeometry(faceModel[i].P2, faceModel[i].P3)); faceTriangle.Children.Add(new LineGeometry(faceModel[i].P3, faceModel[i].P1)); faceModelGroup.Children.Add(faceTriangle); } drawingContext.DrawGeometry(Brushes.LightYellow, new Pen(Brushes.LightYellow, 1.0), faceModelGroup); }
public void DrawFaceModel(DrawingContext drawingContext) { if (!this.lastFaceTrackSucceeded || this.skeletonTrackingState != SkeletonTrackingState.Tracked) { if (lastFaceModelGroup != null) { drawingContext.DrawGeometry(Brushes.Red, new Pen(Brushes.Red, 1.0), lastFaceModelGroup); } return; } var faceModelPts = new List <Point>(); var faceModel = new List <FaceModelTriangle>(); for (int i = 0; i < this.facePoints.Count; i++) { faceModelPts.Add(new Point(this.facePoints[i].X + 0.5f, this.facePoints[i].Y + 0.5f)); } foreach (var t in faceTriangles) { var triangle = new FaceModelTriangle(); triangle.P1 = faceModelPts[t.First]; triangle.P2 = faceModelPts[t.Second]; triangle.P3 = faceModelPts[t.Third]; faceModel.Add(triangle); } lastFaceModelGroup = new GeometryGroup(); for (int i = 0; i < faceModel.Count; i++) { var faceTriangle = new GeometryGroup(); faceTriangle.Children.Add(new LineGeometry(faceModel[i].P1, faceModel[i].P2)); faceTriangle.Children.Add(new LineGeometry(faceModel[i].P2, faceModel[i].P3)); faceTriangle.Children.Add(new LineGeometry(faceModel[i].P3, faceModel[i].P1)); lastFaceModelGroup.Children.Add(faceTriangle); } drawingContext.DrawGeometry(Brushes.AntiqueWhite, new Pen(Brushes.AntiqueWhite, 1.0), lastFaceModelGroup); drawingContext.DrawGeometry(Brushes.Red, new Pen(Brushes.Red, 1.0), lastFaceModelGroup.Children[0]); }
public void DrawFaceModel(DrawingContext drawingContext, int personIndex) { if (!this.lastFaceTrackSucceeded || this.skeletonTrackingState != SkeletonTrackingState.Tracked) { return; } var faceModelPts = new List <Point>(); var faceModel = new List <FaceModelTriangle>(); for (int i = 0; i < this.facePoints.Count; i++) { faceModelPts.Add(new Point(this.facePoints[i].X + 0.5f, this.facePoints[i].Y + 0.5f)); } foreach (var t in faceTriangles) { var triangle = new FaceModelTriangle(); triangle.P1 = faceModelPts[t.First]; triangle.P2 = faceModelPts[t.Second]; triangle.P3 = faceModelPts[t.Third]; faceModel.Add(triangle); } var faceModelGroup = new GeometryGroup(); for (int i = 0; i < faceModel.Count; i++) { var faceTriangle = new GeometryGroup(); faceTriangle.Children.Add(new LineGeometry(faceModel[i].P1, faceModel[i].P2)); faceTriangle.Children.Add(new LineGeometry(faceModel[i].P2, faceModel[i].P3)); faceTriangle.Children.Add(new LineGeometry(faceModel[i].P3, faceModel[i].P1)); faceModelGroup.Children.Add(faceTriangle); } SolidColorBrush[] colors = new SolidColorBrush[6] { Brushes.Blue, Brushes.Yellow, Brushes.Pink, Brushes.Green, Brushes.Pink, Brushes.Salmon }; drawingContext.DrawGeometry(colors[(personIndex % 6)], new Pen(colors[(personIndex % 6)], 1.0), faceModelGroup); }
public void DrawFaceModel(DrawingContext drawingContext) { if (!this.lastFaceTrackSucceeded || this.skeletonTrackingState != SkeletonTrackingState.Tracked) { return; } var faceModelPts = new List<Point>(); var faceModel = new List<FaceModelTriangle>(); for (int i = 0; i < this.facePoints.Count; i++) { faceModelPts.Add(new Point(this.facePoints[i].X + 0.5f, this.facePoints[i].Y + 0.5f)); } foreach (var t in faceTriangles) { var triangle = new FaceModelTriangle(); triangle.P1 = faceModelPts[t.First]; triangle.P2 = faceModelPts[t.Second]; triangle.P3 = faceModelPts[t.Third]; faceModel.Add(triangle); } var faceModelGroup = new GeometryGroup(); for (int i = 0; i < faceModel.Count; i++) { var faceTriangle = new GeometryGroup(); faceTriangle.Children.Add(new LineGeometry(faceModel[i].P1, faceModel[i].P2)); faceTriangle.Children.Add(new LineGeometry(faceModel[i].P2, faceModel[i].P3)); faceTriangle.Children.Add(new LineGeometry(faceModel[i].P3, faceModel[i].P1)); faceModelGroup.Children.Add(faceTriangle); } drawingContext.DrawGeometry(Brushes.LightYellow, new Pen(Brushes.LightYellow, 1.0), faceModelGroup); }
private void DrawFaceMask(DrawingContext drawingContext) { var faceModelPts = new List<Point>(); var faceModel = new List<FaceModelTriangle>(); var mapper = Sensor.CoordinateMapper; for (int i = 0; i < this.facePoints.Count; i++) { var facePoint = facePoints[i]; var skeletonPoint = new SkeletonPoint() { X = facePoint.X, Y = facePoint.Y, Z = facePoint.Z }; var depthImagePoint = mapper.MapSkeletonPointToDepthPoint(skeletonPoint, DepthImageFormat); faceModelPts.Add(new Point(depthImagePoint.X + 0.5f, depthImagePoint.Y + 0.5f)); } foreach (var t in faceTriangles) { var triangle = new FaceModelTriangle(); triangle.P1 = faceModelPts[t.First]; triangle.P2 = faceModelPts[t.Second]; triangle.P3 = faceModelPts[t.Third]; faceModel.Add(triangle); } var faceModelGroup = new GeometryGroup(); for (int i = 0; i < faceModel.Count; i++) { var faceTriangle = new GeometryGroup(); faceTriangle.Children.Add(new LineGeometry(faceModel[i].P1, faceModel[i].P2)); faceTriangle.Children.Add(new LineGeometry(faceModel[i].P2, faceModel[i].P3)); faceTriangle.Children.Add(new LineGeometry(faceModel[i].P3, faceModel[i].P1)); faceModelGroup.Children.Add(faceTriangle); } drawingContext.DrawGeometry(Brushes.LightYellow, new Pen(Brushes.LightYellow, 1.0), faceModelGroup); }
public void DrawFaceModel(DrawingContext drawingContext) { if (!this.lastFaceTrackSucceeded || this.skeletonTrackingState != SkeletonTrackingState.Tracked) { return; } double x, y; ////czubek głowy -0, //double x = this.facePoints[0].X; //double y = this.facePoints[0].Y; //curNoseZ = this.test[58].Z; ////drawingContext.DrawEllipse(Brushes.Red, new Pen(Brushes.Red, 1.0), new Point(x, y), 8, 8); ////IDEKS 4 brwi //x = this.facePoints[4].X; //y = this.facePoints[4].Y; //drawingContext.DrawEllipse(Brushes.Yellow, new Pen(Brushes.Yellow, 1.0), new Point(x,y), 8,8); ////IDEKS 35 centrum czola //x = this.facePoints[35].X; //y = this.facePoints[35].Y; //drawingContext.DrawEllipse(Brushes.ForestGreen, new Pen(Brushes.ForestGreen, 1.0), new Point(x, y), 8, 8); ////IDEKS 40 dolna warga //x = this.facePoints[40].X; //y = this.facePoints[40].Y; //drawingContext.DrawEllipse(Brushes.White, new Pen(Brushes.White, 1.0), new Point(x, y), 8, 8); ////IDEKS 10 broda x = this.facePoints[10].X; y = this.facePoints[10].Y; chinZ = this.test[10].Z; //drawingContext.DrawEllipse(Brushes.Magenta, new Pen(Brushes.Magenta, 1.0), new Point(x, y), 8, 8); ////??? nose //x = this.facePoints[25].X; //y = this.facePoints[25].Y; //drawingContext.DrawEllipse(Brushes.Blue, new Pen(Brushes.Blue, 1.0), new Point(x, y), 8, 8); var faceModelPts = new List <Point>(); var faceModel = new List <FaceModelTriangle>(); for (int i = 0; i < this.facePoints.Count; i++) { faceModelPts.Add(new Point(this.facePoints[i].X + 0.5f, this.facePoints[i].Y + 0.5f)); } foreach (var t in faceTriangles) { var triangle = new FaceModelTriangle(); triangle.P1 = faceModelPts[t.First]; triangle.P2 = faceModelPts[t.Second]; triangle.P3 = faceModelPts[t.Third]; faceModel.Add(triangle); } var faceModelGroup = new GeometryGroup(); for (int i = 0; i < faceModel.Count; i++) { var faceTriangle = new GeometryGroup(); faceTriangle.Children.Add(new LineGeometry(faceModel[i].P1, faceModel[i].P2)); faceTriangle.Children.Add(new LineGeometry(faceModel[i].P2, faceModel[i].P3)); faceTriangle.Children.Add(new LineGeometry(faceModel[i].P3, faceModel[i].P1)); faceModelGroup.Children.Add(faceTriangle); } drawingContext.DrawGeometry(Brushes.LightYellow, new Pen(Brushes.LightYellow, 1.0), faceModelGroup); }