public override void CacheAttached(PXCache sender) { Api = sender.GetFaceApi(); Cache = sender; base.CacheAttached(sender); }
public static Person IdentifyPerson(this IFaceApi api, string imageDataUrl, string groupName, double confidenceThreshold = 0.6) { var candidate = api.IdentifyCandidates(imageDataUrl, groupName).FirstOrDefault(); if (candidate?.Confidence > confidenceThreshold) { return((Person)api.GetPersons(groupName).Where(x => x.Id == candidate.PersonId).FirstOrDefault()); } return(null); }
public static IEnumerable <Candidate> IdentifyCandidates(this IFaceApi api, string imageDataUrl, string groupName) { if (imageDataUrl != null) { var strData = imageDataUrl.Split(',').Skip(1).FirstOrDefault(); if (strData != null) { var binData = Convert.FromBase64String(strData); if (binData != null) { var faceIDs = api.Detect(binData); if (faceIDs != null && faceIDs.Length > 0) { return(api.Identify(groupName, faceIDs)); } } } } return(Enumerable.Empty <Candidate>()); }
public PersonEntry() { this.Api = this.GetFaceApi(); }
public FaceApiClient(IFaceApi client, FaceApiStore store) { this.Client = client; this.Store = store; }
public EmojiMatchFunctionAnalyseFace(IFaceApi faceApi, IStorageApi storageApi) { _faceApi = faceApi; _storageApi = storageApi; }
public GroupEntry() { this.Persons.AllowDelete = false; this.Api = this.GetFaceApi(); }