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();

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/325994.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2018蓝桥杯省赛---java---A---7(三体攻击)

题目描述 题目&#xff1a;三体人将对地球发起攻击。为了抵御攻击&#xff0c;地球人派出了 A  B  C 艘战舰&#xff0c;在太空中排成一个 A 层 B 行 C 列的立方体。其中&#xff0c;第 i 层第 j 行第 k 列的战舰&#xff08;记为战舰 (i, j, k)&#xff09;的生命值为 …

23种设计模式彩图

原文地址&#xff1a;http://www.jianshu.com/p/4a02646f7c9d.NET社区新闻&#xff0c;深度好文&#xff0c;微信中搜索dotNET跨平台或扫描二维码关注

JDBC面试问题

转载自 JDBC面试问题 1.什么是JDBC API&#xff0c;何时使用它&#xff1f; Java DataBase Connectivity API允许我们使用关系数据库。JDBC API接口和类是 java.sql和javax.sql包的一部分。我们可以使用JDBC API来获取数据库连接&#xff0c;在数据库服务器中运行SQL查询和…

2018蓝桥杯省赛---java---A---9(倍数问题)

题目描述 代码实现 package lanqiao;import java.util.ArrayList; import java.util.Collections; import java.util.List; import java.util.Scanner;public class Main {public static void main(String[] args){Scanner scanner new Scanner(System.in);int n scanner.ne…

HTML5知识点总结

 HTML5基础&#xff1a; 一、HTML&#xff1a; Hyper Text MarkUp Language(超文本标记语言)。 二、W3C&#xff1a; 1.world wide web consortium(万维网联盟)&#xff0c;成立于1994年&#xff0c;WEB技术领域最权威和最具影响力的国际中立性技术标准机构。 2.w3c标准包括&…

漫画:什么是鸡尾酒排序

转载自 漫画&#xff1a;什么是鸡尾酒排序 那么&#xff0c;鸡尾酒排序又是何方神圣呢&#xff1f;我们这一期将会详细讲述。 让我们首先来回顾一下冒泡排序的思想&#xff1a; 冒泡排序的每一个元素都可以像小气泡一样&#xff0c;根据自身大小&#xff0c;一点一点向着数…

2018蓝桥杯省赛---java---A---10(付账问题)

题目描述 思路分析 用贪心算法&#xff0c;要使标准差最小&#xff0c;则需要将每个人需付的钱接近于平均值。如果有人的钱低于当前平均值a1&#xff0c;则需要将这人的钱全部支付&#xff0c;此人不够的钱需让其他人付&#xff0c;然后可以计算剩余人所需付钱的平均值a2&…

想要学习设计模式,你得先会看类图,一张图读懂UML

虚线箭头指向依赖&#xff1b; 实线箭头指向关联&#xff1b; 虚线三角指向接口&#xff1b; 实线三角指向父类&#xff1b; 空心菱形能分离而独立存在&#xff0c;是聚合&#xff1b; 实心菱形精密关联不可分&#xff0c;是组合&#xff1b;

数据库的这些性能优化,你做了吗

转载自 数据库的这些性能优化&#xff0c;你做了吗 在互联网项目中&#xff0c;当业务规模越来越大&#xff0c;数据也越来越多&#xff0c;随之而来的就是数据库压力会越来越大。 我们可能会采取各种方式去优化&#xff0c;比如之前文章提到的缓存方案&#xff0c;SQL优化…

青客宝团队Consul内部分享ppt

Consul 是一个支持多数据中心&#xff0c;分布式&#xff0c;高可用的服务发现和配置共享系统。由 HashiCorp 公司使用 Go 语言开发&#xff0c;基于Raft协议。部署起来非常容易&#xff0c;只需要极少的可执行程序和配置文件&#xff0c;具有绿色、轻量级的特点。 Consul是支持…

2018蓝桥杯省赛---java---C---9(小朋友崇拜圈)

题目描述 思路分析 数组来储存小朋友们的崇拜对象&#xff0c;然后下标1就是对应的小朋友座号&#xff0c;写一个方法找出每一个小朋友的崇拜圈大小&#xff0c;然后找出最大的崇拜圈即可 代码实现 package lanqiao;import java.util.*;public class Main {public static vo…

漫画:什么是时间复杂度

转载自 漫画&#xff1a;什么是时间复杂度 时间复杂度的意义 究竟什么是时间复杂度呢&#xff1f;让我们来想象一个场景&#xff1a; 某一天&#xff0c;小灰和大黄同时加入了一个公司...... 一天过后&#xff0c;小灰和大黄各自交付了代码&#xff0c;两端代码实现的功能…

Visual Studio 和 Team Foundation Server 产品维护及周期策略

1 适用于 Visual Studio 和 Team Foundation Server 2012 - 2017 这些产品遵循 Microsoft 10 年支持生命周期策略&#xff08;5 年主流支持和 5 年扩展支持&#xff09;&#xff0c;起始日期为主要产品版本向全球 (RTW) 发布的日期。 例如&#xff0c;Visual Studio 2017 于 20…

28. 实现 strStr()---LeetCode---JAVA(今天又是一行超人)

class Solution {public int strStr(String haystack, String needle) {return haystack.indexOf(needle);} }

DevOps通用及版本控制面试题

转载自 DevOps通用及版本控制面试题 通用DevOps面试问题 此类别将包含与任何特定DevOps阶段无关的问题。这里的问题旨在测试您对DevOps的理解&#xff0c;而不是关注特定工具或阶段。 问题一&#xff1a; DevOps和Agile之间的根本区别是什么&#xff1f; 两者之间的差异…

微信和支付宝支付模式详解及实现(.Net标准库)

支付基本上是很多产品都必须的一个模块&#xff0c;大家最熟悉的应该就是微信和支付宝支付了&#xff0c;不过更多的可能还是停留在直接sdk的调用上&#xff0c;甚至和业务系统高度耦合&#xff0c;网上也存在各种解决方案&#xff0c;但大多形式各异&#xff0c;东拼西凑而成。…

.NET遇上Docker - 使用Docker Compose组织Ngnix和.NETCore运行

本文工具准备&#xff1a; Docker for WindowsVisual Studio 2015 与 Visual Studio Tools for Docker或 Visual Studio 2017 需要在安装时选择“容器开发支持”&#xff0c;如图&#xff1a; Docker的思想是将不同的应用放在不同的容器中分开运行&#xff0c;如运行.NetCore …

为什么大公司一定要使用DevOps

转载自 为什么大公司一定要使用DevOps 0 DevOps的意图 究竟什么是DevOps? 要想回答这个问题&#xff0c;首先要明确DevOps这个过程参与的人员是谁&#xff1f;即开发团队和IT运维团队&#xff01;那么&#xff0c;DevOps的意图是什么呢&#xff1f;即在两个团队之间&#…

怎样访问Springboot项目中static中的资源

第一步 成功启动 第二步 输入 协议://ip:端口/资源的名字 eg http://localhost:8080/06-demo-point.html

asp.net core源码飘香:Logging组件

简介&#xff1a; 作为基础组件&#xff0c;日志组件被其他组件和中间件所使用&#xff0c;它提供了一个统一的编程模型&#xff0c;即不需要知道日志最终记录到哪里去&#xff0c;只需要调用它即可。 使用方法很简单&#xff0c;通过依赖注入ILogFactory&#xff08;CreateL…