Commit 9cefd768 by wangquyuan

add by wqy

1 parent 0e70ac17
Showing with 23 additions and 4 deletions
......@@ -95,7 +95,9 @@ Content-Type:"multipart/form-data"
"resultData":{
"blinkNum":1, #眨眼次数
"heartRate":60 #心率
}
}
"frame_flag":[0,1,1,1] #视频桢标志数组,0:无效桢,1:有效桢
"userFaces":[
"ihnHvDBnNr3achs9oRZpvdSWIz2Q7Xi8NNg..."
......@@ -129,6 +131,7 @@ Content-Type:"multipart/form-data"
"frames":440,
"valid_frames":400
},
"frame_flag":[0,1,1,0,1,1,1,1,1],
"userFaces": ["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"],
"srcData": [{
"microAction": [0.01, 0.03, 0.02, 0.00, 0.00, 0.03, 0.04, 0.01, 0.01, 0.99, 0.00, 0.02, 0.08, 0.22, 0.51, 0.30, 0.31, 0.09],
......
......@@ -1118,7 +1118,8 @@ static void do_video( const std::string &videofile, int frameNum, int nrotate, i
std::vector<std::vector<float>> &face_poses,
std::vector<std::vector<float>> &face_actions,
std::vector<std::vector<float>> &face_emotions,
std::vector<int> &blink_eyes, unsigned long *total_frames, unsigned long *valid_frames
std::vector<int> &blink_eyes, unsigned long *total_frames, unsigned long *valid_frames,
std::vector<int> &flags
)
{
*eyes = 0;
......@@ -1221,10 +1222,12 @@ static void do_video( const std::string &videofile, int frameNum, int nrotate, i
auto faces = face_detector( img );
if( faces.size <= 0 )
{
flags.push_back(0);
std::cout << "no find face,skip frame" << std::endl;
continue;
}
flags.push_back(1);
num++;
int index = 0;
int maxarea = faces.data[0].pos.width * faces.data[0].pos.height;
......@@ -1627,6 +1630,8 @@ void on_http( httpserver *s, websocketpp::connection_hdl hdl )
std::vector<std::vector<float>> face_emotions;
std::vector<int> heart_beats;
std::vector<int> blink_eyes;
std::vector<int> flags;
if(nret == 0)
{
std::cout << "upload file:" << filename << std::endl;
......@@ -1635,7 +1640,7 @@ void on_http( httpserver *s, websocketpp::connection_hdl hdl )
nrotate = nrotate * -1;
std::thread heartrate_thread(do_heart_rate, filename, nrotate, &hearts, &heart_beats, &fps);
do_video(filename, frameNum, nrotate, &eyes, face_features,
face_poses,face_actions,face_emotions, blink_eyes, &total_frames, &valid_frames);
face_poses,face_actions,face_emotions, blink_eyes, &total_frames, &valid_frames, flags);
heartrate_thread.join();
......@@ -1644,7 +1649,18 @@ void on_http( httpserver *s, websocketpp::connection_hdl hdl )
//remove( filename.c_str() );
strresponse = "{\"code\":" + std::to_string(nret) + ",\"msg\":\"" + GetError( nret ) + "\",\"data\":{";
strresponse += "\"resultData\":{\"blinkNum\":" + std::to_string(eyes) + ",\"heartRate\":" + std::to_string(hearts) + ",\"fps\":" + std::to_string(fps) + ",\"frames\":" + std::to_string(total_frames) + ",\"valid_frames\":" + std::to_string(valid_frames) + "}";
strresponse += ",\"userFaces\":[";
strresponse += ",\"frame_flag\":[";
for(int i=0; i<flags.size(); i++)
{
if(i > 0)
{
strresponse += ",";
}
strresponse += std::to_string(flags[i]);
}
strresponse += "],\"userFaces\":[";
for(int i=0; i<face_features.size(); i++)
//for(int i=0; i<2; i++)
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!