百度云的人脸识别学习笔记(开发者文档看一天,代码要几分钟,我的天)
此文章仅作为个人学习记录,不足之处,不解之处,欢迎骚扰,毕竟自学很痛苦!!
相关链接
①(参考文档)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
这是我的项目的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的人脸检测属性特征就完成啦。
网友评论