Esempio n. 1
0
        async static Task LoadGroupPersons(FrameAnalyzer fa)
        {
            var packageFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
            var sampleFile    = await packageFolder.GetFileAsync("group.json");

            var json = await Windows.Storage.FileIO.ReadTextAsync(sampleFile);

            JObject jsonObj = JObject.Parse(json);

            fa.groupId = (string)jsonObj["group_id"];

            JArray personsObj = (JArray)jsonObj["persons"];

            foreach (var personObj in personsObj)
            {
                var person = new Person();
                person.name     = (string)personObj["name"];
                person.personId = (string)personObj["person_id"];

                JArray   faceIdsObj = (JArray)personObj["face_ids"];
                string[] faceIds    = faceIdsObj.Select(c => (string)c).ToArray();
                person.faceIds.AddRange(faceIds);

                fa.groupPersons.Add(person);
            }
        }
Esempio n. 2
0
        public static async Task <FrameAnalyzer> CreateAsync()
        {
            var fa = new FrameAnalyzer();

            await LoadKey(fa);
            await LoadGroupPersons(fa);

            fa.faceClient = new WesteuropeFaceServiceClient(fa.cognitiveServiceKey);

            // validate fa
            if (string.IsNullOrEmpty(fa.cognitiveServiceKey))
            {
                throw new Exception("cognitive service key unavailable or invalid");
            }

            if (string.IsNullOrEmpty(fa.groupId))
            {
                throw new Exception("face group id unavailable or invalid");
            }

            if (fa.groupPersons == null || fa.groupPersons.Count == 0)
            {
                throw new Exception("no persons loaded");
            }

            return(fa);
        }
Esempio n. 3
0
        async static Task LoadKey(FrameAnalyzer fa)
        {
            var packageFolder = Windows.ApplicationModel.Package.Current.InstalledLocation;
            var sampleFile    = await packageFolder.GetFileAsync("cognitive_service.key");

            var key = await Windows.Storage.FileIO.ReadTextAsync(sampleFile);

            fa.cognitiveServiceKey = key;
        }