/// <summary> /// Worker thread for recognition processing /// </summary> private void RecognizerWorker_DoWork(object sender, DoWorkEventArgs e) { this.faceReady = this.multiSourceReady = false; var status = FaceModelBuilderCollectionStatus.Complete; if (!this.constructionInProcess && this.fmb != null) { status = this.fmb.CollectionStatus; } var result = new RecognitionResult(); result.ColorSpaceBitmap = this.ImageToBitmap(this.colorImageBuffer, this.imageWidth, this.imageHeight); e.Result = result; if (this.faceModel != null && this.Processors.Any() && this.ProcessingEnabled) { var faceTrackingResult = new KinectFaceTrackingResult(this.faceModel, this.constructedFaceModel, status, this.faceAlignment, this.Kinect.CoordinateMapper); var rpResults = new List <IRecognitionProcessorResult>(); foreach (var processor in this.Processors) { rpResults.Add(processor.Process(result.ColorSpaceBitmap, faceTrackingResult)); } result.Faces = new List <TrackedFace> { new TrackedFace { ProcessorResults = rpResults, TrackingResult = faceTrackingResult } }; } }
/// <summary> /// Worker thread for recognition processing /// </summary> private void RecognizerWorker_DoWork(object sender, DoWorkEventArgs e) { this.faceReady = this.multiSourceReady = false; var status = FaceModelBuilderCollectionStatus.Complete; if (!this.constructionInProcess && this.fmb != null) status = this.fmb.CollectionStatus; var result = new RecognitionResult(); result.ColorSpaceBitmap = this.ImageToBitmap(this.colorImageBuffer, this.imageWidth, this.imageHeight); e.Result = result; if (this.faceModel != null && this.Processors.Any() && this.ProcessingEnabled) { var faceTrackingResult = new KinectFaceTrackingResult(this.faceModel, this.constructedFaceModel, status, this.faceAlignment, this.Kinect.CoordinateMapper); var rpResults = new List<IRecognitionProcessorResult>(); foreach (var processor in this.Processors) rpResults.Add(processor.Process(result.ColorSpaceBitmap, faceTrackingResult)); result.Faces = new List<TrackedFace> { new TrackedFace { ProcessorResults = rpResults, TrackingResult = faceTrackingResult } }; } }