美文网首页
Android Studio 百度云人脸识别API 笔记二

Android Studio 百度云人脸识别API 笔记二

作者: 黑马_b717 | 来源:发表于2019-04-28 22:00 被阅读0次

    百度云的人脸识别学习笔记(开发者文档看一天,代码要几分钟,我的天)

    此文章仅作为个人学习记录,不足之处,不解之处,欢迎骚扰,毕竟自学很痛苦!!
    相关链接
    ①(参考文档)https://cloud.baidu.com/doc/FACE/Face-Java-SDK.html#.E5.AE.89.E8.A3.85Face.20Java.20SDK
    ②(错误码)https://cloud.baidu.com/doc/FACE/Face-ErrorCode.html#.E9.94.99.E8.AF.AF.E7.A0.81-1

    新建一个android studio项目
    导入相关的sdk包

    sdk网址https://cloud.baidu.com/doc/FACE/Face-Java-SDK.html#.E5.AE.89.E8.A3.85Face.20Java.20SDK

    image.png
    这是我的项目的libs包
    然后我按照文档里的方法,然后就报错了。。。。
    public class Sample {
        //设置APPID/AK/SK
        public static final String APP_ID = "你的 App ID";
        public static final String API_KEY = "你的 Api Key";
        public static final String SECRET_KEY = "你的 Secret Key";
    
        public static void main(String[] args) {
            // 初始化一个AipFace
            AipFace client = new AipFace(APP_ID, API_KEY, SECRET_KEY);
    
            // 可选:设置网络连接参数
            client.setConnectionTimeoutInMillis(2000);
            client.setSocketTimeoutInMillis(60000);
    
            // 可选:设置代理服务器地址, http和socket二选一,或者均不设置
            //client.setHttpProxy("proxy_host", proxy_port);  // 设置http代理
            //client.setSocketProxy("proxy_host", proxy_port);  // 设置socket代理
    
            // 可选:设置log4j日志输出格式,若不设置,则使用默认配置
            // 也可以直接通过jvm启动参数设置此环境变量
            System.setProperty("aip.log4j.conf", "path/to/your/log4j.properties");
    
            // 调用接口
            String path = "test.jpg";
            JSONObject res = client.detect(path, new HashMap<String, String>());
            System.out.println(res.toString(2));
    
        }
    }
    

    就是创建JSONObject res对象报错,这一步是获取access_token步骤的。我也不知道怎么回事,于是我又看了下文档。按步骤imoprt module


    导入了这两个文件

    修改了下方法,

            final AipFace client = new AipFace(APP_ID, API_KEY, SECRET_KEY);
    
            // 可选:设置网络连接参数
            client.setConnectionTimeoutInMillis(2000);
            client.setSocketTimeoutInMillis(60000);
    
            new Thread(new Runnable() {
                @Override
                public void run() {
                    HashMap<String, String> options = new HashMap<String, String>();
                    options.put("face_field", "age");
                    options.put("face_field", "beauty");
                    options.put("face_field", "expression");
                    options.put("max_face_num", "2");
                    options.put("face_type", "LIVE");
    
                    String image="Base64字符串,和http请求的一致,去掉逗号和逗号前的,有img标签则去掉头尾";
                    String imageType = "BASE64";
    
                    // 人脸检测
                    JSONObject res = client.detect(image, imageType, options);
                    Log.e("MAS",res.toString());
                }
            }).start();
    
    

    运行结果如下


    出现了beauty和expressio!

    以上是我的打印信息,可能是client对象是获取连接的吧。在option添加参数就可以输出其他参数,是笔记一用postman请求不到的参数....所以android studio的人脸检测属性特征就完成啦。

    相关文章

      网友评论

          本文标题:Android Studio 百度云人脸识别API 笔记二

          本文链接:https://www.haomeiwen.com/subject/vxrsnqtx.html