Commit 062897ac by wangquyuan

add by wqy

1 parent 9526753d
Showing with 22 additions and 7 deletions
......@@ -103,7 +103,7 @@ Content-Type:"multipart/form-data"
"ihnHvDBnNr3achs9oRZpvdSWIz2Q7Xi8NNg..."
]
userFaces:用户特征值数组,base64编码,原来接口文档把它放在srcData里,但这是不合适的,因为取特征值是会跳桢,数组长度是不一致的。所以在这里单独列出来了。
userFaces:用户特征值数组,特征值用base64编码,原来接口文档把它放在srcData里,但这是不合适的,因为取特征值是会跳桢,数组长度是不一致的。所以在这里单独列出来了。
"srcData":[
{
......@@ -112,7 +112,8 @@ Content-Type:"multipart/form-data"
"emotion": [0.50, 0.05, 0.02, 0.01, 0.37, 0.05, 0.00], #情绪结果,[平静、快乐、愤怒、惊讶、厌恶、悲伤、恐惧]
"faceInfo": [-6.42, -13.49, -2.15], #头部xyz轴数据,[yaw,pitch,rool]
"eyeInfo": 2, #眼部状态,0-未识别到眼睛、1-不是眼睛、2-睁眼、3-闭眼
"heartInfo":60 #心率
"heartInfo":60, #心率
"faceRects":[10,10,200,200] #用户人脸矩形数组 [x,y,width,height]
}
......@@ -133,6 +134,7 @@ Content-Type:"multipart/form-data"
},
"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],
"emotion": [0.50, 0.05, 0.02, 0.01, 0.37, 0.05, 0.00],
......@@ -150,7 +152,8 @@ Content-Type:"multipart/form-data"
"emotion": [0.53, 0.05, 0.02, 0.01, 0.34, 0.06, 0.00],
"faceInfo": [-5.83, -13.58, -2.46],
"eyeInfo": 2,
"heartInfo":60
"heartInfo":60,
"faceRects":[10,10,200,200]
}]
}
}
......
......@@ -1325,7 +1325,8 @@ static void do_video( const std::string &videofile, int frameNum, int nrotate, i
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> &flags
std::vector<int> &flags,
std::vector<SeetaRect> & rects
)
{
*eyes = 0;
......@@ -1468,6 +1469,9 @@ static void do_video( const std::string &videofile, int frameNum, int nrotate, i
actions.push_back(features2[i]);
}
face_actions.push_back(actions);
rects.push_back(faces.data[index].pos);
std::vector<float> emotions = face_emotion(img, points);
face_emotions.push_back(emotions);
......@@ -1839,6 +1843,7 @@ void on_http( httpserver *s, websocketpp::connection_hdl hdl )
std::vector<int> heart_beats;
std::vector<int> blink_eyes;
std::vector<int> flags;
std::vector<SeetaRect> rects;
if(nret == 0)
{
......@@ -1851,7 +1856,7 @@ void on_http( httpserver *s, websocketpp::connection_hdl hdl )
std::thread pose_thread(do_video2, filename, nrotate, (void *)&face_poses);
do_video(filename, frameNum, nrotate, &eyes, face_features,
/*face_poses,*/face_actions,face_emotions, blink_eyes, &total_frames, &valid_frames, flags);
/*face_poses,*/face_actions,face_emotions, blink_eyes, &total_frames, &valid_frames, flags, rects);
pose_thread.join();
heartrate_thread.join();
......@@ -1884,8 +1889,8 @@ void on_http( httpserver *s, websocketpp::connection_hdl hdl )
strresponse += ",";
}
strresponse += "\"" + enbase64 + "\"";
break;
}
strresponse += "],\"srcData\":[";
int num = face_poses.size();
......@@ -1964,7 +1969,14 @@ void on_http( httpserver *s, websocketpp::connection_hdl hdl )
// strresponse += std::to_string(blink_eyes[i][m]);
//}
strresponse += "}";
strresponse += ",\"faceRects\":[";
strresponse += std::to_string(rects[i].x);
strresponse += ","+ std::to_string(rects[i].y);
strresponse += "," + std::to_string(rects[i].width);
strresponse += "," + std::to_string(rects[i].height);
strresponse += "]}";
}
strresponse += "]}}";
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!