public override void CacheAttached(PXCache sender)
        {
            Api = sender.GetFaceApi();

            Cache = sender;

            base.CacheAttached(sender);
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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>());
        }
Beispiel #4
0
 public PersonEntry()
 {
     this.Api = this.GetFaceApi();
 }
Beispiel #5
0
        public FaceApiClient(IFaceApi client, FaceApiStore store)
        {
            this.Client = client;

            this.Store = store;
        }
Beispiel #6
0
 public EmojiMatchFunctionAnalyseFace(IFaceApi faceApi, IStorageApi storageApi)
 {
     _faceApi    = faceApi;
     _storageApi = storageApi;
 }
Beispiel #7
0
 public GroupEntry()
 {
     this.Persons.AllowDelete = false;
     this.Api = this.GetFaceApi();
 }