我目前正在使用一款名为 Kairos 的面部识别软件来分析视频中人群的情绪。
我的问题是,而不是在 while 中使用“true”(它将每秒分析人群情绪),我如何配置它以使其仅每 1 分钟分析一次人群?提前致谢。
HumanAnalysisService has = null;
try{
has = new HumanAnalysisService("license.xml", "", 20, 4);
} catch (ApplicationException lie) {
Console.WriteLine(lie.Message);
return;
}
// has = new HumanAnalysisService("license.xml", "", 20, 4);
/* attach to camera device */
// has.initUsingCameraSource(0);
has.initUsingImageSource(file1);
/* *loop thru the capture feed */
while (true) {
/* pull pull out the next frame */
has.pullFrame();
/* does the device have more frames */
if (has.isFrameEmpty())
break;
/* process the pulled frame */
has.processFrame();
/* get the people that are in the current frame*/
People people = has.getPeople();
System.Console.Write("Media Height: " + has.getMediaSourceHeight());
System.Console.Write("Media Width: " + has.getMediaSourceWidth());
System.Console.Write("Media Type: " + has.getMediaType());
System.Console.Write("Mime Type: " + has.getMediaContentType() + "\n\n");
/* print out the info from every person in te frame*/
// foreach ( Person person in people )
for (int i = 0; i < people.size(); i++) {
System.Console.Write("Person id" + people.get(i).id + " , face x coordinate: " + people.get(i).face.x + "\n");
System.Console.Write("Person id" + people.get(i).id + " , face y coordinate: " + people.get(i).face.x + "\n");
System.Console.Write("Person id" + people.get(i).id + " , face width coordinate: " + people.get(i).face.width + "\n");
System.Console.Write("Person id" + people.get(i).id + " , face height coordinate: " + people.get(i).face.height + "\n");
System.Console.Write("Person id" + people.get(i).id + " , Emotion - Joy: " + people.get(i).impression.emotion_response.joy_score + "\n");
System.Console.Write("Person id" + people.get(i).id + " , Emotion - Surprise: " + people.get(i).impression.emotion_response.surprise_score + "\n");
System.Console.Write("Person id" + people.get(i).id + " , Emotion - Anger: " + people.get(i).impression.emotion_response.anger_score + "\n");
System.Console.Write("Person id" + people.get(i).id + " , Emotion - Fear: " + people.get(i).impression.emotion_response.fear_score + "\n");
System.Console.Write("Person id" + people.get(i).id + " , Emotion - Sadness: " + people.get(i).impression.emotion_response.sadness_score + "\n");
System.Console.Write("Person id" + people.get(i).id + " , Emotion - Disgust: " + people.get(i).impression.emotion_response.disgust_score + "\n");
}
}
}