通过百度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条评论
点击登录参与评论