public async Task <RecognizedObject[]> GetRecognitionResultsAsync(RecognitionRequest request) { _logger.Log(LogType.NORMAL, "Recognition started"); List <RecognizedObject> plateResponse; List <RecognizedObject> personResponse; Task <List <RecognizedObject> > getPlateResponseTask = Task.FromResult(new List <RecognizedObject>()); Task <List <RecognizedObject> > getPersonResponseTask = Task.FromResult(new List <RecognizedObject>()); try { if (request.FindPlate) { getPlateResponseTask = _plateService.RecognizeAsync(request.ImageBase64, request.Latitude, request.Longitude); } if (request.FindFace) { getPersonResponseTask = _faceService.RecognizeAsync(request.ImageBase64, request.Latitude, request.Longitude); } plateResponse = await getPlateResponseTask; personResponse = await getPersonResponseTask; } catch (Exception ex) { _logger.Log(LogType.ERROR, $"Recognition failed: {ex.Message}"); throw; } RecognizedObject[] responses = plateResponse .Concat(personResponse) .ToArray(); _logger.Log(LogType.NORMAL, MessageBuilder.BuildResponseMessage(responses)); _logger.Log(LogType.NORMAL, "Recognition finished successfully"); return(responses); }
public async Task <JsonResult> LogFaceIn(string base64String) { try { if (!string.IsNullOrEmpty(base64String)) { var imageParts = base64String.Split(',').ToList <string>(); byte[] imgdata = Convert.FromBase64String(imageParts[1]); var detected = await FaceService.RecognizeAsync(imgdata); return(Json("Success", JsonRequestBehavior.AllowGet)); } else { return(Json(false, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { return(Json(ex, JsonRequestBehavior.AllowGet)); } }