1.依赖百度AI人脸识别,浏览一下工程目录
pojo:存放的实体类
draw:程序的主要方法
test:测试接口的能力
utils:工具类


进入百度ai查看接口
根据图片可以推算人的年龄,性别等属性还可以检测状态是否戴眼镜,光照等信息。



测试方法:本地上传t图片到百度服务器,返回一个json字符串,解析得到数据,因此这个过程需要连接网络。
开始测试,首先下载相应的sdk压缩包导入到工程里面

package test;import org.json.JSONObject;import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;
import java.util.Map;/*** 获取token类*/
public class AuthService {public static void main(String[] args) { System.out.println(AuthService.getAuth()); }/*** 获取权限token* @return 返回示例:* {* "access_token": "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567",* "expires_in": 2592000* }*/public static String getAuth() {// 官网获取的 API Key 更新为你注册的String clientId = "自己百度的AppID";// 官网获取的 Secret Key 更新为你注册的String clientSecret = "自己百度的API Key";return getAuth(clientId, clientSecret);}/*** 获取API访问token* 该token有一定的有效期,需要自行管理,当失效时需重新获取.* @param ak - 百度云官网获取的 API Key* @param sk - 百度云官网获取的 Securet Key* @return assess_token 示例:* "24.460da4889caad24cccdb1fea17221975.2592000.1491995545.282335-1234567"*/public static String getAuth(String ak, String sk) {// 获取token地址String authHost = "https://aip.baidubce.com/oauth/2.0/token?";String getAccessTokenUrl = authHost// 1. grant_type为固定参数+ "grant_type=client_credentials"// 2. 官网获取的 API Key+ "&client_id=" + ak// 3. 官网获取的 Secret Key+ "&client_secret=" + sk;try {URL realUrl = new URL(getAccessTokenUrl);// 打开和URL之间的连接HttpURLConnection connection = (HttpURLConnection) realUrl.openConnection();connection.setRequestMethod("GET");connection.connect();// 获取所有响应头字段Map<String, List<String>> map = connection.getHeaderFields();// 遍历所有的响应头字段for (String key : map.keySet()) {System.err.println(key + "--->" + map.get(key));}// 定义 BufferedReader输入流来读取URL的响应BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));String result = "";String line;while ((line = in.readLine()) != null) {result += line;}/*** 返回结果示例*/System.err.println("result:" + result);JSONObject jsonObject = new JSONObject(result);String access_token = jsonObject.getString("access_token");return access_token;} catch (Exception e) {System.err.printf("获取token失败!");e.printStackTrace(System.err);}return null;}}

出下图的返回结果,初步测试成功

2.开始测试具体的功能,首先查看文档所需要的参数

**Base64工具:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式,对文件进行加密传输。
文件读取:读取本地文件路径,直接调用方法不需要自己写
Json工具类:结果显示json字符串
所需要的工具类都可以自己下载
**

package test;import java.io.File;
import java.util.*;import com.bejson.pojo.Face_list;
import com.bejson.pojo.JsonRootBean;import utils.Base64Util;
import utils.FileUtil;
import utils.GsonUtils;
import utils.HttpUtil;/**
* 人脸检测与属性分析
*/
public class FaceDetect {/*** 重要提示代码中所需工具类* FileUtil,Base64Util,HttpUtil,GsonUtils请从* https://ai.baidu.com/file/658A35ABAB2D404FBF903F64D47C1F72* https://ai.baidu.com/file/C8D81F3301E24D2892968F09AE1AD6E2* https://ai.baidu.com/file/544D677F5D4E4F17B4122FBD60DB82B3* https://ai.baidu.com/file/470B3ACCA3FE43788B5A963BF0B625F3* 下载*/public static String faceDetect(String filepath) {// 请求urlFile file=new File(filepath);String url = "https://aip.baidubce.com/rest/2.0/face/v3/detect";try {Map<String, Object> map = new HashMap<>();map.put("image", Base64Util.encode(FileUtil.readFileByBytes(filepath)));map.put("face_field", "age,beauty,expression,face_shape,gender,glasses,race,quality,eye_status,emotion,face_type,location");map.put("image_type", "BASE64");String param = GsonUtils.toJson(map);// 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。String accessToken = AuthService.getAuth();String result = HttpUtil.post(url, accessToken, "application/json", param);System.out.println(result);return result;} catch (Exception e) {e.printStackTrace();}return null;}public static void main(String[] args) { String resultkson=FaceDetect.faceDetect("D:\\test\\test3.jpg");System.out.println(resultkson); }}

输出得到结果,如下

Ctrl+Shift+Dnd选中复制,结果存放result.json文件下,可以直接将代码复制去解析。
JSON字符串转为java实体类,下载代码放在pojo里面,注意有些参数的类型是Double范围是0-1表示推测的概率,而不是Integer。
https://www.bejson.com/
//测试接口

 public static void main(String[] args) { String resultkson=FaceDetect.faceDetect("D:\\test\\test3.jpg");System.out.println(resultkson); JsonRootBean rootBean=GsonUtils.fromJson(resultkson, JsonRootBean.class); // Face_list list=rootBean.result.face_list[0];List<Face_list> list=rootBean.result.face_list;System.out.println("年龄:"+((Face_list) list).getAge());System.out.println("颜值:"+((Face_list) list).getBeauty());}

接下来开始正式调用接口。

人脸识别用来测颜值(一)相关推荐

  1. 基于stm32人脸识别和红外测温

    目录 一.项目功能 二.原理图 三.实物视频 四.实物图片 五.程序 资料下载地址:基于STM32人脸识别和红外测温 一.项目功能 本系统由stm32f103c8t6单片机最小系统电路+k210人脸识 ...

  2. python调用百度人脸识别对美女进行颜值打分

    调用百度人脸识别 一.注册百度api 先百度开发者开发平台注册应用https://ai.baidu.com/tech/face/detect 1.创建应用 2.管理应用 APP_ID, API_KEY ...

  3. Python调用百度人脸识别API接口检测颜值

    我们今天使用Python发送网络请求到百度人脸识别API接口. 我们需要requests模块,它需要安装,代码是 pip3 install requests 注意:不好意思各位,我的配额没了!如需使用 ...

  4. python调用百度人脸识别:来一次颜值评分

    前言 在某公众号上偶然看到一篇文章 调用百度ai进行颜值打分给班级女生打分,还挺好玩的,遂也来试试给周围认识的女性打打分~ 内容 打开百度ai人脸识别-点击立即使用-登录百度帐号 新建一个应用-获取k ...

  5. php识别脸型代码,PHP人脸识别为你的颜值打分

    这两天一个朋友在写 Python 玩抖音的小姐姐识别, 得知是用了百度的接口, 突然想起博主上个月有写一篇文章也用到了百度的接口: PHP开发图像内容识别 直接上代码, 先创建一个 index.htm ...

  6. 人脸识别实例-颜值打分系统简易版

    知识点: 创建百度AI 人脸识别应用,获取自己的[APP_ID].[API_KEY].[SECRET_KEY] 查看SDK文档,调用人脸识别接口,实现颜值打分系统 实现步骤: 搜索[百度大脑],打开[ ...

  7. 上交AI研究院副院长马利庄:基于大数据的人脸识别技术进展与展望

    文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 转自 | 中国人工智能学会 本篇大家整理的是来自上海交通大学人工智能研究院副院长.华东师范大学特聘教授 ...

  8. AI人脸识别+体​温检测系统解决方案

    疫情当下,体温​异常是新冠肺炎的主要症状,目前市场上常用的体温枪.温度计等检测设备,但需要人工去检测,对于高铁站.机场.地铁站.车站人流密集的场所需要投入大量的人力物力,人流密集的地方需要挨个排查筛选 ...

  9. 基于K210芯片的人脸识别智能门禁系统

    设计了一个人脸识别智能门禁系统,该系统人脸识别及红外测温模块.门禁和蓝牙模块组成.人脸识别及红外测温无需工作人员直接接触,只有体温正常才可以通过,达到了门禁的效果:可以把采集到的信息反馈到终端,同时体 ...

最新文章

  1. java datetime和date_Java 8时间接口localDateTime和Date的对比
  2. java开发_数字转换汉语中人民币的大写_完整版
  3. 寒假每日一题(入门组)【week2 完结】
  4. 520 页机器学习笔记!图文并茂可能更适合你
  5. sql server数据库查询超时报错
  6. 大数据平台应用 17 个知识点汇总
  7. 在SSP中查询某个用户Profile信息的SQL语句
  8. proxychains-ng 工作原理分析
  9. 常用的几个JQuery代码片段
  10. 酷客多小程序携手Richly network Pte Led正式进军新加坡市场
  11. linux sudo 命令
  12. 学生系统优化——字符限定
  13. jlink接口定义接stm32_图解Stm32使用jlink程序时jtag接口(SW和JTAG模式)的简化方法
  14. 2020信工所复试问题回顾与收集
  15. 华为手机最大屏是几英寸的_华为有史以来最大屏幕的手机,屏幕尺寸高达7.12寸,性价比很好!...
  16. 用计算机算出身高,身高预测公式计算器靠谱吗
  17. 成为一棵大树必备的6个条件
  18. 利用Python软件完成通讯录功能
  19. 希腊字母读音及其latex输入
  20. 运行maven生成的jar包显示class “XXX“ not found

热门文章

  1. 阻止微信浏览器下拉滑动效果(ios11.3 橡皮筋效果)
  2. 思科“思蜀援川”灾后援建项目圆满完成
  3. 字符串忽视大小写java_java字符串忽略大小写
  4. 这才是计算机科学_计算机安全
  5. {UVA}UVA-489解题报告
  6. led灯模组是什么东西_现代灯具什么牌子好 节能LED灯新品推荐
  7. Linux系统之neofetch工具的基本使用
  8. 寻求大连本地JAVA程序人员合作!
  9. 有趣的安全游戏--哈密顿行动(零)图灵测试
  10. AGM MCU AG32VF407 系列特性