/**
* @Title: Json_Parsing.java
* @Package org.util
* @Description: TODO该方法的主要作用:
* @author A18ccms A18ccms_gmail_com
* @date 2018-6-9 上午10:33:48
* @blog https://blog.csdn.net/qq_34137397
* @version V1.0
*/
package org.util;
import java.util.ArrayList;
import org.entity.Landmark;
import org.json.JSONArray;
import org.json.JSONObject;
/**
*
* 项目名称:test_face_huoti
* 类名称:Json_Parsing
* 类描述: 解析json
* 创建人:Mu Xiongxiong
* 创建时间:2018-6-9 上午10:33:48
* 修改人:Mu Xiongxiong
* 修改时间:2018-6-9 上午10:33:48
* 修改备注:
* 个人博客:https://blog.csdn.net/qq_34137397
* @version
*
*/
public class Json_Parsing {
/*String json_str = "{"
+" \"timestamp\": 1528420653,"
+" \"result\": {"
+"\"face_list\": [{"
+"\"landmark\": ["
+" {"
+" \"y\": 293.6487427,"
+" \"x\": 344.6775208"
+" },"
+"{"
+" \"y\": 292.1832581,"
+" \"x\": 465.147522"
+"},"
+"{"
+" \"y\": 362.4373169,"
+" \"x\": 407.2205811"
+" },"
+" {"
+" \"y\": 428.7177124,"
+" \"x\": 411.6735535"
+" }"
+"],"
+" \"face_probability\": 0.9377777576,"
+" \"location\": {"
+" \"height\": 253,"
+" \"rotation\": 0,"
+" \"width\": 243,"
+" \"left\": 289.150177,"
+" \"top\": 244.4544983"
+"},"
+"\"landmark72\": ["
+" {"
+" \"y\": 292.0180054,"
+"\"x\": 289.417572"
+"},"
+"{"
+" \"y\": 331.9599609,"
+"\"x\": 292.8039246"
+" },"
+" {"
+" \"y\": 372.3904114,"
+" \"x\": 301.283844"
+"},"
+" {"
+" \"y\": 411.2714233,"
+" \"x\": 314.0955505"
+" },"
+" {"
+" \"y\": 450.2736206,"
+" \"x\": 338.0390625"
+" },"
+" {"
+" \"y\": 484.864502,"
+" \"x\": 376.0628662"
+" },"
+"{"
+" \"y\": 496.4431152,"
+"\"x\": 415.7805176"
+"},"
+"{"
+" \"y\": 487.0181274,"
+" \"x\": 455.3654175"
+"},"
+"{"
+" \"y\": 454.7385559,"
+" \"x\": 492.2065735"
+" },"
+" {"
+" \"y\": 412.9674377,"
+" \"x\": 516.8792725"
+"},"
+"{"
+"\"y\": 371.8327026,"
+"\"x\": 526.5441284"
+"},"
+"{"
+"\"y\": 330.3126831,"
+" \"x\": 531.1585693"
+" },"
+"{"
+"\"y\": 289.8967896,"
+"\"x\": 532.8815918"
+"},"
+"{"
+"\"y\": 295.760498,"
+"\"x\": 318.7453003"
+"},"
+"{"
+" \"y\": 290.3188171,"
+" \"x\": 331.4337769"
+" },"
+"{"
+"\"y\": 288.857605,"
+"\"x\": 344.0565186"
+"},"
+"{"
+"\"y\": 289.964447,"
+"\"x\": 357.3381348"
+"},"
+"{"
+"\"y\": 297.0440674,"
+"\"x\": 370.2176819"
+"},"
+"{"
+"\"y\": 299.0540771,"
+"\"x\": 357.6977844"
+"},"
+"{"
+"\"y\": 300.6704102,"
+"\"x\": 344.3751831"
+"},"
+"{"
+"\"y\": 299.0969849,"
+" \"x\": 331.1411133"
+" },"
+"{"
+"\"y\": 293.6487427,"
+"\"x\": 344.6775208"
+" },"
+"{"
+" \"y\": 265.6499634,"
+" \"x\": 303.0313721"
+" },"
+" {"
+" \"y\": 245.9210663,"
+" \"x\": 320.273468"
+" },"
+" {"
+" \"y\": 243.7492371,"
+" \"x\": 342.8881226"
+" },"
+"{"
+" \"y\": 247.8726349,"
+"\"x\": 365.1636963"
+"},"
+"{"
+" \"y\": 263.4034729,"
+" \"x\": 384.873291"
+" },"
+"{"
+" \"y\": 264.3016357,"
+"\"x\": 364.7226562"
+"},"
+"{"
+" \"y\": 263.662384,"
+"\"x\": 343.1068115"
+" },"
+" {"
+" \"y\": 264.1619568,"
+" \"x\": 321.9691772"
+"},"
+" {"
+" \"y\": 295.9424133,"
+" \"x\": 440.2758179"
+"},"
+"{"
+"\"y\": 288.9544373,"
+" \"x\": 453.3082581"
+" },"
+"{"
+" \"y\": 287.5550232,"
+" \"x\": 466.5764771"
+" },"
+" {"
+" \"y\": 288.9812317,"
+" \"x\": 480.1110229"
+"},"
+"{"
+"\"y\": 293.90625,"
+"\"x\": 493.8017883"
+"},"
+"{"
+"\"y\": 298.0003357,"
+"\"x\": 480.5523987"
+"},"
+"{"
+"\"y\": 299.4595032,"
+" \"x\": 466.5645752"
+" },"
+" {"
+" \"y\": 298.1081543,"
+"\"x\": 452.7465515"
+"},"
+" {"
+"\"y\": 292.1832581,"
+"\"x\": 465.147522"
+"},"
+"{"
+"\"y\": 263.0756226,"
+"\"x\": 424.7915039"
+" },"
+" {"
+" \"y\": 246.7488251,"
+" \"x\": 444.5397644"
+"},"
+"{"
+" \"y\": 242.2443085,"
+" \"x\": 468.00177"
+" },"
+"{"
+" \"y\": 244.3013611,"
+" \"x\": 492.2993469"
+" },"
+"{"
+" \"y\": 264.5846252,"
+" \"x\": 512.2473755"
+" },"
+"{"
+"\"y\": 262.5867615,"
+"\"x\": 490.7645874"
+"},"
+"{"
+"\"y\": 261.9186096,"
+"\"x\": 468.2220459"
+" },"
+"{"
+"\"y\": 262.9295349,"
+"\"x\": 446.1036377"
+"},"
+"{"
+" \"y\": 297.6395569,"
+"\"x\": 387.9335022"
+" },"
+"{"
+"\"y\": 323.2550659,"
+"\"x\": 383.4273071"
+"},"
+"{"
+" \"y\": 348.6310425,"
+" \"x\": 378.8557739"
+"},"
+"{"
+"\"y\": 377.025116,"
+" \"x\": 371.0310364"
+" },"
+"{"
+"\"y\": 378.413269,"
+" \"x\": 388.319519"
+"},"
+" {"
+" \"y\": 377.3381958,"
+" \"x\": 429.2042236"
+" },"
+" {"
+" \"y\": 374.605896,"
+"\"x\": 447.5372314"
+"},"
+"{"
+" \"y\": 346.7474365,"
+"\"x\": 436.0992737"
+"},"
+"{"
+" \"y\": 321.6994629,"
+" \"x\": 429.4744873"
+" },"
+"{"
+" \"y\": 296.7819824,"
+" \"x\": 422.7367249"
+" },"
+"{"
+" \"y\": 362.4373169,"
+" \"x\": 407.2205811"
+" },"
+"{"
+" \"y\": 426.7028503,"
+" \"x\": 364.6296387"
+" },"
+" {"
+" \"y\": 415.4924927,"
+"\"x\": 385.1811523"
+"},"
+" {"
+"\"y\": 414.2524414,"
+"\"x\": 410.7074585"
+" },"
+"{"
+" \"y\": 415.1342468,"
+" \"x\": 436.9920044"
+" },"
+"{"
+"\"y\": 424.9750366,"
+"\"x\": 461.309082"
+"},"
+"{"
+" \"y\": 442.3902588,"
+"\"x\": 440.663147"
+" },"
+"{"
+"\"y\": 449.1212158,"
+" \"x\": 411.6611328"
+"},"
+"{"
+" \"y\": 442.7553711,"
+" \"x\": 384.1807556"
+"},"
+"{"
+" \"y\": 426.5587769,"
+" \"x\": 386.5618896"
+"},"
+" {"
+"\"y\": 427.7996826,"
+"\"x\": 411.2698364"
+"},"
+"{"
+"\"y\": 425.5678711,"
+"\"x\": 435.7932434"
+"},"
+"{"
+" \"y\": 429.5809326,"
+" \"x\": 436.4645996"
+" },"
+" {"
+" \"y\": 431.8244629,"
+" \"x\": 410.9641724"
+"},"
+"{"
+"\"y\": 429.8924866,"
+"\"x\": 387.0514832"
+" }"
+" ],"
+"\"face_token\": \"1d3c6176c74239cda6fae09bc703b4b5\","
+" \"angle\": {"
+" \"yaw\": 0.8733408451,"
+"\"roll\": -0.6557160616,"
+"\"pitch\": 3.743157148"
+"}"
+"}],"
+" \"face_num\": 1"
+"},"
+" \"cached\": 0,"
+"\"error_code\": 0,"
+" \"log_id\": 3506632814,"
+"\"error_msg\": \"SUCCESS\""
+"}";*/
/**
*
* @Description: 该方法的主要作用:解析人脸检测的json数据
* @Title: parsingFaceJson
* @param @param json_str
* @param @return 设定文件
* @return 返回类型:Landmark
* @throws
* 个人博客:https://blog.csdn.net/qq_34137397
*/
@SuppressWarnings("serial")
public static Landmark parsingFaceJson(JSONObject json_str){
Landmark landmark = new Landmark();
//开始解析json
//JSONObject dataJson=new JSONObject(json_str);
//找到result节点
JSONObject response_result=json_str.getJSONObject("result");
//继续找face_list节点
JSONArray face_list_jsonArray=response_result.getJSONArray("face_list");
JSONObject face_list_jsonObject=face_list_jsonArray.getJSONObject(0);
//找到landmark(关键点)节点,4个关键点位置,左眼中心、右眼中心、鼻尖、嘴中心
final JSONArray landmark_jsonArray=face_list_jsonObject.getJSONArray("landmark");
//左眼中心
landmark.setLeft_eye_zhongxin(new ArrayList<Double>(){
{add((Double) landmark_jsonArray.getJSONObject(0).get("y"));
add((Double) landmark_jsonArray.getJSONObject(0).get("x"));}
});
//右眼中心
landmark.setRight_eye_zhongxin(new ArrayList<Double>(){
{add((Double) landmark_jsonArray.getJSONObject(1).get("y"));
add((Double) landmark_jsonArray.getJSONObject(1).get("x"));}
});
//鼻尖
landmark.setNose_zhongxin(new ArrayList<Double>(){
{add((Double) landmark_jsonArray.getJSONObject(2).get("y"));
add((Double) landmark_jsonArray.getJSONObject(2).get("x"));}
});
//嘴中心
landmark.setMouse_zhongxin(new ArrayList<Double>(){
{add((Double) landmark_jsonArray.getJSONObject(3).get("y"));
add((Double) landmark_jsonArray.getJSONObject(3).get("x"));}
});
//继续找landmark72节点
final JSONArray landmark72_jsonArray=face_list_jsonObject.getJSONArray("landmark72");
//左眼上边
landmark.setLeft_eye_top(new ArrayList<Double>(){
{add((Double) landmark72_jsonArray.getJSONObject(14).get("y"));
add((Double) landmark72_jsonArray.getJSONObject(14).get("x"));}
});
//左眼下边
landmark.setLeft_eye_bottom(new ArrayList<Double>(){
{add((Double) landmark72_jsonArray.getJSONObject(19).get("y"));
add((Double) landmark72_jsonArray.getJSONObject(19).get("x"));}
});
//右眼上边
landmark.setRight_eye_top(new ArrayList<Double>(){
{add((Double) landmark72_jsonArray.getJSONObject(32).get("y"));
add((Double) landmark72_jsonArray.getJSONObject(32).get("x"));}
});
//右眼下边
landmark.setRight_eye_bottom(new ArrayList<Double>(){
{add((Double) landmark72_jsonArray.getJSONObject(36).get("y"));
add((Double) landmark72_jsonArray.getJSONObject(36).get("x"));}
});
//嘴巴上边
landmark.setMouse__top(new ArrayList<Double>(){
{add((Double) landmark72_jsonArray.getJSONObject(60).get("y"));
add((Double) landmark72_jsonArray.getJSONObject(60).get("x"));}
});
//嘴巴下边
landmark.setMouse__bottom(new ArrayList<Double>(){
{add((Double) landmark72_jsonArray.getJSONObject(70).get("y"));
add((Double) landmark72_jsonArray.getJSONObject(70).get("x"));}
});
return landmark;
}
}
人脸识别活体检测之张张嘴和眨眨眼——Json_Parsing
最新推荐文章于 2022-08-23 16:11:54 发布