我正在使用 Microsoft Face API 来检测 Android 中的面部和情绪。我有一个TreeMap
其键是情感属性的概率,其值是属性名称,如下所示:
TreeMap<Double, String> treeMap = new TreeMap<>();
treeMap.put(person.faceAttributes.emotion.happiness, "Happiness");
treeMap.put(person.faceAttributes.emotion.anger, "Anger");
treeMap.put(person.faceAttributes.emotion.disgust, "Disgust");
treeMap.put(person.faceAttributes.emotion.sadness, "Sadness");
treeMap.put(person.faceAttributes.emotion.neutral, "Neutral");
treeMap.put(person.faceAttributes.emotion.surprise, "Surprise");
treeMap.put(person.faceAttributes.emotion.fear, "Fear");
(人是类型的对象Face
)
我想要做的是将这 7 种情绪从最有可能到最不可能排列,但问题是大小各treeMap
不相同。例如,当我选择获取面带微笑的表情属性时,treeMap.size()
返回2。当我选择获取主要是中性的面部的情绪属性时,treeMap.size()
返回3。
有谁知道为什么会发生这种行为,即使我已经添加了 7 个键值对treeMap
using treeMap.put()
?我发现确实存在的键值对treeMap
是最有可能的情绪,但是即使其他属性为0,为什么它们仍然没有被添加到treeMap
.