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

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

此文章仅作为个人学习记录,不足之处,不解之处,欢迎骚扰,毕竟自学很痛苦!!
相关链接
①(参考文档)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

Android Studio 百度云人脸识别API 笔记二_第1张图片
image.png

Android Studio 百度云人脸识别API 笔记二_第2张图片
这是我的项目的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());
        System.out.println(res.toString(2));

    }
}

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


Android Studio 百度云人脸识别API 笔记二_第3张图片
导入了这两个文件

修改了下方法,

        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 options = new HashMap();
                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 笔记二)