java实现人脸识别V3版本开发
有段时间没有写更新公众号了,也许好多人都忘记了自己还关注了这么个公众号。
因为这段时间确实是有其他的事比较忙,还有一个原因就是自己在技术方面没有学习新的东西,所以没有可更新的(包括博客)
今天,我决定更新一下,内容主要为:java实现人脸识别使用百度API接口V3版本,主要功能实现了人脸注册,人脸搜索(人脸登陆),人脸检测
以前做出来的是V2版本的,那是207年的事了,时隔2018年一年,为什么现在才更新呢,这里我解释一下,说实话,我存在点私心,因为V2版本的代码只能v2的key来完成,而百度方面升级了之后用户创建的均为V3的key。我以前写的代码(博客里面的代码)都是v2的代码,其他人要想测试效果只能从我这要key,我会让他们关注我的公众号获取(因为当时做人脸识别的时候费了好多精力,不想一下子就分享给别人),所以通过这种简单的交易来成全双方的。
现在我想重新开发v3的版本,在分享给别人,取长补短,使得自己的技术更能得到提升,故此公开v3的源码:
人脸检测:
public static void face_jiance(AipFace client) {
// 传入可选参数调用接口
HashMap<String, String> options = new HashMap<String, String>();
options.put("face_field", "age");
options.put("max_face_num", "2");
options.put("face_type", "LIVE");
File directory = new File("");// 参数为空
String courseFile="";
try {
courseFile = directory.getCanonicalPath();
//获取当前项目的根路径
//System.out.println(courseFile);
String image = courseFile+"/WebRoot/picture/111.jpg";
String imageType = "BASE64";
//转换格式
String strImageToBase64 =ImageToBase64(image);
//输出base64图像数据
//System.out.println("本地图片转换Base64:"+strImageToBase64);
// 人脸检测
JSONObject res = client.detect(strImageToBase64,imageType, options);
System.out.println(res.toString(2));
} catch (IOException e) {
// TODO 异常执行块!
e.printStackTrace();
}
}
人脸注册:
public static void face_reg(AipFace client) {
// 传入可选参数调用接口
HashMap<String, String> options = new HashMap<String, String>();
options.put("user_info", "user's info");
String groupId = "group1";
String userId = "user1";
File directory = new File("");// 参数为空
String courseFile="";
try {
courseFile = directory.getCanonicalPath();
//获取当前项目的根路径
//System.out.println(courseFile);
String image = courseFile+"/WebRoot/picture/111.jpg";
String imageType = "BASE64";
//转换格式
String strImageToBase64 =ImageToBase64(image);
//输出base64图像数据
//System.out.println("本地图片转换Base64:"+strImageToBase64);
// 人脸注册
JSONObject res = client.addUser(strImageToBase64, imageType, groupId, userId, options);
System.out.println(res.toString(2));
} catch (IOException e) {
// TODO 异常执行块!
e.printStackTrace();
}
}
人脸登陆:
public static void face_login(AipFace client) {
// 传入可选参数调用接口
HashMap<String, String> options = new HashMap<String, String>();
options.put("user_id", "user1");
File directory = new File("");// 参数为空
String courseFile="";
String groupIdList = "group1";
try {
courseFile = directory.getCanonicalPath();
//获取当前项目的根路径
//System.out.println(courseFile);
String image = courseFile+"/WebRoot/picture/222.jpg";
String imageType = "BASE64";
//转换格式
String strImageToBase64 =ImageToBase64(image);
//输出base64图像数据
//System.out.println("本地图片转换Base64:"+strImageToBase64);
// 人脸搜索
JSONObject res = client.search(strImageToBase64, imageType, groupIdList, options);
System.out.println(res.toString(2));
} catch (IOException e) {
// TODO 异常执行块!
e.printStackTrace();
}
}
相关文章
- JAVA-JSP动作元素之forward
- 【Java】java扩展机制SPI 实现
- Java邮件开发(三):解决附件名为乱码及显示友好名称
- java中PipedStream管道流通信详细使用(详解)
- Java实现第九届蓝桥杯字母阵列
- Java实现二分图的最大匹配
- Java Date 时分秒置0
- 微信java开发之实现微信主动推送消息
- 【JAVA】 01-Java基础知识
- 【JAVA】 03-Java中的异常和包的使用
- java 11 Java Flight Recorder
- Java超类-java.lang.object
- Eclipse 安装了 Groovy 开发插件之后,双击打不开 .java 文件了
- 使用Java标准的java.util.EventListener实现观察者-发布者设计模式
- Atitit 搜索蓝牙设备 powershell的实现 java noede.js python 先用脚本语言python nodejs,不好实现。。Java 也不好实现。。 Netcore可以,
- Java项目部署目录结构与部署方法 打包方法attilax总结 目录 1.1. Java web项目部署目录结构1 2. Springboot项目的部署结构2 3. Java项目的开发模式下目录
- Atitit.uml2 api 的编程代码实现设计uml开发 使用eclipse jar java 版本
- Atitit.uml2 api 的编程代码实现设计uml开发 使用eclipse jar java 版本
- Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725
- Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725
- 使用Eclipse开发Java应用并部署到SAP云平台SCP上去
- 蓝桥杯官网 试题 PREV-227 历届真题 回文日期【第十一届】【决赛】【研究生组】【C++】【C】【Java】【Python】四种解法
- Java中Synchronized的用法
- Java学习之路:ArrayList用法
- JAVA语言之Java 中不同的并行实现的性能比较
- Java开发篇——设计模式(4)先生需要代购吗?
- 职场竞争力提升必备 | 快速掌握Java开发主流框架
- Java开发必学知识点总结,让你从小白到大咖
- 阿里巴巴 Java 开发手册评述
- 【java】Java 中泛型的实现原理
- 【java】Java线程池实现原理及业务中的实践
- JAVA开发讲义(二)-Java程序设计之数据之谜四
- JAVA开发讲义(二)-Java程序设计之数据之谜二
- java开发,IDE,eclipse字体大小设置
- 职场竞争力提升必备 | 快速掌握Java开发主流框架
- 2019区块链人才供需与发展报告显示:Java开发等技术类人才需求大