示例#1
0
        public void ListEmotionResult(Activity msg, Emotion[] emotionResult)
        {
            List <Attachment> emotionList = new List <Attachment>();

            if (emotionResult != null)
            {
                EmotionResultDisplay[] resultDisplay = new EmotionResultDisplay[8];

                for (int i = 0; i < emotionResult.Length; i++)
                {
                    Emotion emotion = emotionResult[i];
                    resultDisplay[0] = new EmotionResultDisplay {
                        EmotionString = "Anger", Score = emotion.Scores.Anger
                    };
                    resultDisplay[1] = new EmotionResultDisplay {
                        EmotionString = "Contempt", Score = emotion.Scores.Contempt
                    };
                    resultDisplay[2] = new EmotionResultDisplay {
                        EmotionString = "Disgust", Score = emotion.Scores.Disgust
                    };
                    resultDisplay[3] = new EmotionResultDisplay {
                        EmotionString = "Fear", Score = emotion.Scores.Fear
                    };
                    resultDisplay[4] = new EmotionResultDisplay {
                        EmotionString = "Happiness", Score = emotion.Scores.Happiness
                    };
                    resultDisplay[5] = new EmotionResultDisplay {
                        EmotionString = "Neutral", Score = emotion.Scores.Neutral
                    };
                    resultDisplay[6] = new EmotionResultDisplay {
                        EmotionString = "Sadness", Score = emotion.Scores.Sadness
                    };
                    resultDisplay[7] = new EmotionResultDisplay {
                        EmotionString = "Surprise", Score = emotion.Scores.Surprise
                    };

                    Array.Sort(resultDisplay, CompareDisplayResults);

                    String[] emotionStrings = new String[3];
                    for (int j = 0; j < 3; j++)
                    {
                        emotionList.Add(new Attachment {
                            Name = resultDisplay[j].EmotionString + ":" + resultDisplay[j].Score.ToString("0.000000")
                        });

                        //emotionStrings[j] = resultDisplay[j].EmotionString + ":" + resultDisplay[j].Score.ToString("0.000000"); ;
                    }

                    msg.Attachments = emotionList;
                }
            }
        }
        public List <string> ListEmotionResult(Emotion[] emotionResult)
        {
            List <String> TopEmotionPerFace = new List <string>();

            if (emotionResult != null)
            {
                EmotionResultDisplay[] resultDisplay = new EmotionResultDisplay[8];
                for (int i = 0; i < emotionResult.Length; i++)
                {
                    Emotion emotion = emotionResult[i];
                    resultDisplay[0] = new EmotionResultDisplay {
                        EmotionString = "Anger", Score = emotion.Scores.Anger
                    };
                    resultDisplay[1] = new EmotionResultDisplay {
                        EmotionString = "Contempt", Score = emotion.Scores.Contempt
                    };
                    resultDisplay[2] = new EmotionResultDisplay {
                        EmotionString = "Disgust", Score = emotion.Scores.Disgust
                    };
                    resultDisplay[3] = new EmotionResultDisplay {
                        EmotionString = "Fear", Score = emotion.Scores.Fear
                    };
                    resultDisplay[4] = new EmotionResultDisplay {
                        EmotionString = "Happiness", Score = emotion.Scores.Happiness
                    };
                    resultDisplay[5] = new EmotionResultDisplay {
                        EmotionString = "Neutral", Score = emotion.Scores.Neutral
                    };
                    resultDisplay[6] = new EmotionResultDisplay {
                        EmotionString = "Sadness", Score = emotion.Scores.Sadness
                    };
                    resultDisplay[7] = new EmotionResultDisplay {
                        EmotionString = "Surprise", Score = emotion.Scores.Surprise
                    };

                    Array.Sort(resultDisplay, CompareDisplayResults);

                    String[] emotionStrings = new String[3];
                    for (int j = 0; j < 3; j++)
                    {
                        emotionStrings[j] = resultDisplay[j].EmotionString + ":" + resultDisplay[j].Score.ToString("0.000000");;
                    }
                    TopEmotionPerFace.Add(resultDisplay[0].EmotionString);
                }
                return(TopEmotionPerFace);
            }

            return(null);
        }
示例#3
0
        public Dictionary <string, string> ListEmotionResult(Emotion emotion)
        {
            if (emotion != null)
            {
                EmotionResultDisplay[] resultDisplay = new EmotionResultDisplay[8];
                resultDisplay[0] = new EmotionResultDisplay {
                    EmotionString = "Bravo", Score = emotion.Scores.Anger * 100
                };
                resultDisplay[1] = new EmotionResultDisplay {
                    EmotionString = "Desprezo", Score = emotion.Scores.Contempt * 100
                };
                resultDisplay[2] = new EmotionResultDisplay {
                    EmotionString = "Nojo", Score = emotion.Scores.Disgust * 100
                };
                resultDisplay[3] = new EmotionResultDisplay {
                    EmotionString = "Medo", Score = emotion.Scores.Fear * 100
                };
                resultDisplay[4] = new EmotionResultDisplay {
                    EmotionString = "Felicidade", Score = emotion.Scores.Happiness * 100
                };
                resultDisplay[5] = new EmotionResultDisplay {
                    EmotionString = "Neutro", Score = emotion.Scores.Neutral * 100
                };
                resultDisplay[6] = new EmotionResultDisplay {
                    EmotionString = "Tristeza", Score = emotion.Scores.Sadness * 100
                };
                resultDisplay[7] = new EmotionResultDisplay {
                    EmotionString = "Surpresa", Score = emotion.Scores.Surprise * 100
                };

                Array.Sort(resultDisplay, CompareDisplayResults);

                Dictionary <string, string> res = new Dictionary <string, string>();
                res.Add(resultDisplay[0].EmotionString, resultDisplay[0].Score.ToString("##0.000") + "%");

                /*
                 * for (int j = 0; j < 3; j++)
                 * {
                 *  if (!resultDisplay[j].Score.ToString("##0.000").Equals("0,000") && !resultDisplay[j].Score.ToString("##0.000").Equals("0.000"))
                 *  {
                 *      res.Add(resultDisplay[j].EmotionString, resultDisplay[j].Score.ToString("##0.000") + "%");
                 *  }
                 * }
                 */
                return(res);
            }
            return(null);
        }
示例#4
0
 private int CompareDisplayResults(EmotionResultDisplay result1, EmotionResultDisplay result2)
 {
     return((result1.Score == result2.Score) ? 0 : ((result1.Score < result2.Score) ? 1 : -1));
 }