通过百度AI实现人脸识别。
1 百度AI申请人脸识别

2 百度下载aip的SDK

3 Java代码
package com.wanmait;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.json.JSONArray;
import org.json.JSONObject;
public class TestMain {
public static void main(String[] args) {
// TODO Auto-generated method stub
String ak = "百度AI申请的人脸识别的API Key";
String sk = "百度AI申请的人脸识别的Secret Key";
String authhost = "https://aip.baidubce.com/oauth/2.0/token?"
+ "grant_type=client_credentials&client_id="+ak+"&client_secret="+sk;
try {
URL realUrl = new URL(authhost);
HttpURLConnection conn = (HttpURLConnection)realUrl.openConnection();
conn.setRequestMethod("GET");
conn.connect();
//利用GET传输方式 访问百度AI
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String result = "";
String line = "";
while((line=in.readLine())!=null) {
result+=line;
}
//获得百度AI返回的相应的链接信息 包括session等信息
//System.out.println(result);
JSONObject jsonObject = new JSONObject(result);
String access_token = jsonObject.getString("access_token");
//获得百度AI返回的信息中间的token信息
System.out.println(access_token);
byte[] b = FileUtil.readFileByBytes("d:/data/1.jpg");
String img = Base64Util.encode(b);
//打开本地图片文件,转换成BASE64格式
Map<String,Object> map = new HashMap<>();
String url = "https://aip.baidubce.com/rest/2.0/face/v3/detect";
map.put("image", img);//设置上传的图片数据
map.put("image_type", "BASE64");//设置上传的图片类型
map.put("face_field","age,beauty");//设置想要通过人脸识别获得的数据
String param = GsonUtils.toJson(map);
String str = HttpUtil.post(url,access_token,"application/json",param);
//访问百度AI 将图片信息上传 str获得百度AI人脸检测根据请求参数 返回的信息
//System.out.println(str);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
百度AI返回的信息.

0条评论
点击登录参与评论