예제 #1
0
        private static void PopulatePersonGroups(string groupID, string groupName)
        {
            Console.WriteLine("");
            Console.WriteLine("");
            Console.WriteLine("<*>---------------------------------------------------------<*>");
            Console.WriteLine("Populate Person Groups");
            Console.WriteLine("<*>---------------------------------------------------------<*>");

            string        basePath    = ConfigurationManager.AppSettings["FilePath"];
            var           peopleNames = ConfigurationManager.AppSettings["PeopleNames"];
            List <string> people      = new List <string>();

            people = peopleNames.Split(',').ToList();

            var personGroupProvider = new PersonGroupProvider();

            var groupTask = personGroupProvider.CreatePersonGroup(groupID, groupName);

            groupTask.Wait();

            foreach (var name in people)
            {
                var personTask = personGroupProvider.CreatePerson(groupID, name);
                personTask.Wait();
                var personId = personTask.Result;

                var registerTask = personGroupProvider.RegisterImages(groupID, personId, basePath + name);
                registerTask.Wait();

                var trainTask = personGroupProvider.TrainPersonGroup(groupID);
                trainTask.Wait();
            }
        }
예제 #2
0
        private static void RunSearch(string groupID, string filePath)
        {
            Console.WriteLine("");
            Console.WriteLine("");
            Console.WriteLine("<*>---------------------------------------------------------<*>");
            Console.WriteLine("Run Facial Search");
            Console.WriteLine("<*>---------------------------------------------------------<*>");

            var personGroupProvider = new PersonGroupProvider();

            var searchTask = personGroupProvider.IdentifyFaces(filePath, groupID);

            searchTask.Wait();

            if (searchTask.Result.ToList().Count > 0)
            {
                Console.WriteLine("");
                Console.WriteLine("Faces Found");
                foreach (var faceName in searchTask.Result)
                {
                    Console.WriteLine(string.Format("Person ID : {0} - Name : {1}", faceName.Key.ToString(), faceName.Value.Name));
                    Console.WriteLine("Persisted IDs:");
                    foreach (var id in faceName.Value.FaceIds)
                    {
                        Console.WriteLine("-" + id.ToString());
                    }
                    Console.WriteLine("");
                    Console.WriteLine(string.Format("Age: {0}", faceName.Value.Age));

                    Console.WriteLine(string.Format("Emotion - Anger: {0}", faceName.Value.EmotionAnger));
                    Console.WriteLine(string.Format("Emotion - Contempt: {0}", faceName.Value.EmotionContempt));
                    Console.WriteLine(string.Format("Emotion - Disgust: {0}", faceName.Value.EmotionDisgust));
                    Console.WriteLine(string.Format("Emotion - Fear: {0}", faceName.Value.EmotionFear));
                    Console.WriteLine(string.Format("Emotion - Happiness: {0}", faceName.Value.EmotionHappiness));
                    Console.WriteLine(string.Format("Emotion - Neutral: {0}", faceName.Value.EmotionNeutral));
                    Console.WriteLine(string.Format("Emotion - Sadness: {0}", faceName.Value.EmotionSadness));
                    Console.WriteLine(string.Format("Emotion - Surprise: {0}", faceName.Value.EmotionSurprise));

                    Console.WriteLine(string.Format("Gender: {0}", faceName.Value.Gender));
                }
            }
        }