Пример #1
0
        public FacePage()
        {
            System.Media.SoundPlayer player = new System.Media.SoundPlayer();
            player.Play();

            InitializeComponent();

            currFaceState = FaceState.KinectWait;
            currBodyState = BodyState.KinectWait;
            faceSamples   = new double[NUM_SAMPLES];

            flagRuns = new int[Enum.GetNames(typeof(FlagType)).Length];

            _sensor = KinectSensor.GetDefault();

            if (_sensor != null)
            {
                currFaceState   = FaceState.FaceWait;
                currBodyState   = BodyState.BodyWait;
                _infraredSource = _sensor.InfraredFrameSource;
                _infraredReader = _infraredSource.OpenReader();
                _infraredReader.FrameArrived += InfraredReader_FrameArrived;

                _bodySource = _sensor.BodyFrameSource;
                _bodyReader = _bodySource.OpenReader();
                _bodyReader.FrameArrived += BodyReader_FrameArrived;

                _faceSource = new HighDefinitionFaceFrameSource(_sensor);
                _faceReader = _faceSource.OpenReader();
                _faceReader.FrameArrived += FaceReader_FrameArrived;

                _sensor.Open();
            }
        }
        public FacePage()
        {
            InitializeComponent();

            _sensor = KinectSensor.GetDefault();

            if (_sensor != null)
            {
                _infraredSource = _sensor.InfraredFrameSource;
                _infraredReader = _infraredSource.OpenReader();
                _infraredReader.FrameArrived += InfraredReader_FrameArrived;

                _bodySource = _sensor.BodyFrameSource;
                _bodyReader = _bodySource.OpenReader();
                _bodyReader.FrameArrived += BodyReader_FrameArrived;;

                _faceSource = new HighDefinitionFaceFrameSource(_sensor);
                _faceReader = _faceSource.OpenReader();
                _faceReader.FrameArrived += FaceReader_FrameArrived;;

                _sensor.Open();
            }
        }
Пример #3
0
        public MainWindow()
        {
            kinect = KinectSensor.GetDefault();

            InfraredFrameSource infraredFrameSource = kinect.InfraredFrameSource;

            multiSourceFrameReader = kinect.OpenMultiSourceFrameReader(FrameSourceTypes.Infrared | FrameSourceTypes.Body);
            multiSourceFrameReader.MultiSourceFrameArrived += MultiSource_FrameArrived;

            frameDescription = infraredFrameSource.FrameDescription;

            bodies = new Body[kinect.BodyFrameSource.BodyCount];

            FaceFrameFeatures faceFrameFeatures =
                FaceFrameFeatures.BoundingBoxInInfraredSpace
                | FaceFrameFeatures.PointsInInfraredSpace
                | FaceFrameFeatures.RotationOrientation
                | FaceFrameFeatures.FaceEngagement
                | FaceFrameFeatures.Glasses
                | FaceFrameFeatures.Happy
                | FaceFrameFeatures.LeftEyeClosed
                | FaceFrameFeatures.RightEyeClosed
                | FaceFrameFeatures.LookingAway
                | FaceFrameFeatures.MouthMoved
                | FaceFrameFeatures.MouthOpen;

            faceFrameSources = new FaceFrameSource[6];
            faceFrameReaders = new FaceFrameReader[6];
            faceFrameResults = new FaceFrameResult[6];

            for (int i = 0; i < 6; i++)
            {
                faceFrameSources[i] = new FaceFrameSource(kinect, 0, faceFrameFeatures);
                faceFrameReaders[i] = faceFrameSources[i].OpenReader();
                faceFrameReaders[i].FrameArrived += Face_FrameArrived;
            }

            faceBrush = new List <Brush>()
            {
                Brushes.Pink,
                Brushes.Orange,
                Brushes.Yellow,
                Brushes.Purple,
                Brushes.Red,
                Brushes.Blue
            };

            infraredBitmap = new WriteableBitmap(frameDescription.Width,
                                                 frameDescription.Height,
                                                 96.0, 96.0,
                                                 PixelFormats.Gray32Float,
                                                 null);
            infraredPixels     = new ushort[frameDescription.LengthInPixels];
            drawingGroup       = new DrawingGroup();
            drawingImageSource = new DrawingImage(drawingGroup);

            kinect.Open();

            DataContext = this;

            InitializeComponent();
        }