• 人脸识别活体检测之张张嘴和眨眨眼——Json_Parsing


     /**  
    * @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;
        }
    
    
    }
    
  • 相关阅读:
    SAP CRM销售订单UI上的字段对应的数据库表存储字段:requested start date和end date
    SAP Fiori Elements里Drop down list的实现原理
    使用Fiori Elements创建的SAP UI5应用,如何支持编辑功能
    #开工新姿势#开启一年新征程,云社区叫你来充电啦!
    云小课 | 守护网络安全不是问题,iptables的四表五链为你开启“八卦阵”
    所见即搜,3分钟教你搭建一个服装搜索系统!
    AI辅助宫颈癌筛查技术全球居首,守护者的力量来源是?
    干货分享丨从MPG 线程模型,探讨Go语言的并发程序
    网络知识一箩筐:IP地址划分的那些知识点
    MindSpore:基于本地差分隐私的 Bandit 算法
  • 原文地址:https://www.cnblogs.com/a1111/p/12816021.html
Copyright © 2020-2023  润新知