public static async Task ProcessCameraCapture(ImageAnalyzer e, int imageId) { DateTime start = DateTime.Now; await e.DetectFacesAsync(true); //await e.DetectEmotionAsync(); if (e.DetectedFaces.Any()) { //var faces = e.DetectedFaces.Select(f => // new CognitiveFaceResult() // { // Gender = f.FaceAttributes.Gender[0].ToString().ToUpper() + f.FaceAttributes.Gender.Substring(1), // Age = f.FaceAttributes.Age, // Left = f.FaceRectangle.Left, // Top = f.FaceRectangle.Top, // Width = f.FaceRectangle.Width, // Height = f.FaceRectangle.Height // }); //DisplayMessage(GetFaceAttributeString(e)); var result = new CognitiveFaceResult(); await e.IdentifyFacesAsync(PersonGroupId); result.Attributes = GetFaceAttributeString(e); if (e.IdentifiedPersons.Any()) { result.IdentitiedPersons = GetGreettingFromFaces(e); } else { result.IdentitiedPersons = "No Idea, who you are... Register your face."; } FacesDetectedCallback.Invoke(result); //greetingsText = GetFaceAttributeString(e) + "\r\n" + greetingsText; //if (e.IdentifiedPersons.Any()) //{ // if (GreetingsCallback != null) // { // DisplayMessage(greetingsText); // } // //Console.WriteLine(greetingsText); //} //else //{ // DisplayMessage("No Idea, who you are... Register your face."); // //Console.WriteLine("No Idea"); //} } else { // DisplayMessage("No face detected."); //Console.WriteLine("No Face "); } TimeSpan latency = DateTime.Now - start; var latencyString = string.Format("Face API latency: {0}ms", (int)latency.TotalMilliseconds); //Console.WriteLine(latencyString); }
protected override async void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.FaceIdentify); this.cameraPreview = this.FindViewById <CameraSourcePreview>(Resource.Id.preview); this.graphicOverlay = this.FindViewById <GraphicOverlay>(Resource.Id.faceOverlay); var button = (ImageButton)this.FindViewById(Resource.Id.flipButton); button.Click += (sender, args) => { this.isFrontFacing = !this.isFrontFacing; if (this.cameraSource != null) { this.cameraSource.Release(); this.cameraSource = null; } this.CreateCameraSource(); this.StartCameraSource(); }; if (ActivityCompat.CheckSelfPermission(this, Manifest.Permission.Camera) == Permission.Granted) { this.CreateCameraSource(); LiveCamHelper.Init(); LiveCamHelper.GreetingsCallback = (s) => { this.RunOnUiThread(() => Greetings = s); }; LiveCamHelper.FacesDetectedCallback = result => { this.RunOnUiThread(() => CognitiveFacesResult = result); }; this.faceService = new FaceService(); await this.faceService.Initialize(); //using (var stream = File.OpenRead("/data/user/0/CognitiveDemo.Droid/files/CognitivveFrame.png")) //{ // await this.faceService.IdentityFace(stream); //} } else { this.RequestCameraPermission(); } }