private Dictionary <string, AnimetricsDetectResponse> DetectFaces(Dictionary <string, System.Drawing.Image> images) { Dictionary <string, AnimetricsDetectResponse> result = new Dictionary <string, AnimetricsDetectResponse>(); foreach (var entry in images) { MemoryStream imageStream = new MemoryStream(); DataSet.GetImage(entry.Key).Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg); var retryPolicy = Policy.HandleResult <AnimetricsDetectResponse>(r => r.images == null).Retry(3, (exception, retryCount) => { ApiKeys.NextKey(); }); AnimetricsDetectResponse response = retryPolicy.Execute(() => DetectFace(imageStream)); try { if (response.images[0].faces.Count > 0) { Console.WriteLine("Face found in image {0}.", entry.Key); result.Add(entry.Key, response); } } catch (Exception e) { Console.WriteLine("No faces found in image {0}.", entry.Key); } } return(result); }
private List <AnimetricsEnrollResponse> EnrollTargetFaces() { List <AnimetricsEnrollResponse> result = new List <AnimetricsEnrollResponse>(); foreach (var entry in DetectedTargetFaces) { var retryPolicy = Policy.HandleResult <AnimetricsEnrollResponse>(r => r.images == null).Retry(3, (exception, retryCount) => { ApiKeys.NextKey(); }); AnimetricsEnrollResponse response = retryPolicy.Execute(() => EnrollFace(entry)); if (response != null) { result.Add(response); Console.WriteLine("Image {0} enrolled.", entry.Key); } } return(result); }
private List <AnimetricsRecognizeResponse> RecognizeSourceFaces() { List <AnimetricsRecognizeResponse> result = new List <AnimetricsRecognizeResponse>(); foreach (var entry in DetectedSourceFaces) { var retryPolicy = Policy.HandleResult <AnimetricsRecognizeResponse>(r => r.images == null).Retry(3, (exception, retryCount) => { ApiKeys.NextKey(); }); AnimetricsRecognizeResponse response = retryPolicy.Execute(() => RecognizeFace(entry)); if (response != null) { result.Add(response); Console.WriteLine("Face recognized in source image {0}.", entry.Key); } } return(result); }