背景

人脸识别是人工智能智能领域中应用最广泛的服务之一。个人认为,人脸识别也是目前人工智能领域中技术最成熟的技术之一。各大云服务厂商均开通了人脸识别的服务。

那就来尝尝吧。。

登陆注册->找到人脸识别服务

登陆的过程就不说了。很久以前我就有腾讯云账号了,现在微信扫一扫二维码就能登陆了。在藤须品首页就可以找到人脸识别服务。

 开通人脸识别服务

点击入门按钮,来到指导页面 。点击云控制台的连接,能够直接跳到开通页面,点击开通按钮。人脸识别服务就开通了。

或者去自己找到界面

人脸识别应用

(1)配置JAVA环境,maven环境,新建maven工程。

这里面要配置一下腾讯的SDK,也就是引包,先去这个网站上面查一下,版本号。

https://search.maven.org/search?q=tencentcloud-sdk-java

这里面发现现在的版本号是3.1.46,那么maven文件当中对应的就是

    <dependency><groupId>com.tencentcloudapi</groupId><artifactId>tencentcloud-sdk-java</artifactId><version>3.1.46</version></dependency>

(2)编码

通过API Explorer进行编码,点开之后找到人脸发现的API,并在个人密钥处输入自己的密钥。

刚来使用的小伙伴肯定不知道密钥去哪找,但刚好在输入框上边有一个连接可以直接点过去。

然后去仔细看看参数的内容要输入哪些。仔细看看,其实只有region和图片是必要的。

region的话选择一个就可以了。

但是图片可以是个连接,也可以是个URL,但要存储在腾讯云中。这里面选择直接用Base64的图片字符串好了。

如果直接输入图片的字符串,那将会是这样,复制起来,简直累晕了。

并且运行起来也会有问题。

所以,暂时不填图片信息,在代码里面进行修改。将如下代码复制到IDEA

import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;import com.tencentcloudapi.iai.v20180301.IaiClient;import com.tencentcloudapi.iai.v20180301.models.DetectFaceRequest;
import com.tencentcloudapi.iai.v20180301.models.DetectFaceResponse;public class DetectFace {public static void main(String[] args) {try {Credential cred = new Credential("XXXXXXXXXXXXXXx", "XXXXXXXXx");HttpProfile httpProfile = new HttpProfile();httpProfile.setEndpoint("iai.tencentcloudapi.com");ClientProfile clientProfile = new ClientProfile();clientProfile.setHttpProfile(httpProfile);IaiClient client = new IaiClient(cred, "ap-beijing", clientProfile);String params = "{}";DetectFaceRequest req = DetectFaceRequest.fromJsonString(params, DetectFaceRequest.class);DetectFaceResponse resp = client.DetectFace(req);System.out.println(DetectFaceRequest.toJsonString(resp));} catch (TencentCloudSDKException e) {System.out.println(e.toString());}}}

(3)修改

十分关键的一步,目的有两个:

其一是,将图片转为BASE64的String,构造params

其二是,利用识别的结果,标注人脸。

用到了json的包

<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.68</version>
</dependency>

代码如下。


import com.alibaba.fastjson.JSON;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.iai.v20180301.IaiClient;
import com.tencentcloudapi.iai.v20180301.models.DetectFaceRequest;
import com.tencentcloudapi.iai.v20180301.models.DetectFaceResponse;
import com.tencentcloudapi.iai.v20180301.models.FaceInfo;
import sun.misc.BASE64Encoder;import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.HashMap;public class DetectFace {public static void main(String[] args) {try {String imageUrl = "/Users/yuchk/Desktop/haha.png";String markImageUrl = "/Users/yuchk/Desktop/haha_res.png";// 替换自己的密钥Credential cred = new Credential("XX", "XX");HttpProfile httpProfile = new HttpProfile();httpProfile.setEndpoint("iai.tencentcloudapi.com");ClientProfile clientProfile = new ClientProfile();clientProfile.setHttpProfile(httpProfile);IaiClient client = new IaiClient(cred, "ap-beijing", clientProfile);HashMap map = new HashMap<String, String>(8);String image = getBase64Image(imageUrl);map.put("Image", image);map.put("NeedQualityDetection", "1");String params = JSON.toJSONString(map);DetectFaceRequest req = DetectFaceRequest.fromJsonString(params, DetectFaceRequest.class);DetectFaceResponse resp = client.DetectFace(req);System.out.println(DetectFaceRequest.toJsonString(resp));FaceInfo[] faceInfos = resp.getFaceInfos();long height = faceInfos[0].getHeight();long width = faceInfos[0].getWidth();long x = faceInfos[0].getX();long y = faceInfos[0].getY();// 将人脸标注起来BufferedImage bufferedImage = ImageIO.read(new File(imageUrl));Graphics g = bufferedImage.getGraphics();g.setColor(Color.RED);//矩形框(原点x坐标,原点y坐标,矩形的长,矩形的宽)g.drawRect((int) x, (int) y, (int) width, (int) height);g.dispose();FileOutputStream out = new FileOutputStream(markImageUrl);ImageIO.write(bufferedImage, "png", out);} catch (TencentCloudSDKException | IOException e) {System.out.println(e.toString());}}private static String getBase64Image(String url) {try {return getBase64Image(new FileInputStream(url));} catch (FileNotFoundException e) {e.printStackTrace();}return null;}private static String getBase64Image(FileInputStream inputStream) {try {byte[] data = new byte[inputStream.available()];inputStream.read(data);inputStream.close();BASE64Encoder encoder = new BASE64Encoder();return encoder.encode(data);} catch (IOException e) {e.printStackTrace();}return null;}}

结果

{"ImageWidth":509,"ImageHeight":429,"FaceInfos":[{"X":152,"Y":51,"Width":135,"Height":175,"FaceAttributesInfo":{"Gender":0,"Age":0,"Expression":0,"Glass":false,"Pitch":0,"Yaw":0,"Roll":0,"Beauty":0,"Hat":false,"Mask":false,"Hair":{"Length":0,"Bang":0,"Color":0},"EyeOpen":false},"FaceQualityInfo":{"Score":84,"Sharpness":61,"Brightness":43,"Completeness":{"Eyebrow":87,"Eye":92,"Nose":97,"Cheek":89,"Mouth":99,"Chin":94}}}],"FaceModelVersion":"3.0","RequestId":"xxxxxxxxxx"}

腾讯云【人脸识别】服务的一次尝试(JAVA)相关推荐

  1. 华为云人脸识别服务 FRS 之初体验

    华为云人脸识别服务 FRS 之初体验 程序之美 前言 操作流程 所遇问题 结束语 程序之美 前言 人脸识别服务(Face Recognition Service,简称FRS),是基于人的脸部特征信息, ...

  2. 腾讯云—人脸识别应用实践

    序: 人脸识别是目前应用较广泛的AI产品服务,但在售前接触客户中,发现很多销售同学和客户对于人脸识别的认识不够全面,从而在使用和计价过程中遇到较多的问题,所以通过这篇博客个人总结一些应用架构实践,帮助 ...

  3. java腾讯云人脸识别接口

    1,引入maven依赖 2, public class TenXunUtil { // 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密 // ...

  4. Python爬取《创造营2020》小姐姐数据并用腾讯云人脸识别做颜值评分

    最近 创造营2020好多小姐姐吸引到我了,于是就有这这个 颜值100分的小姐姐高达21位 比如前段时间抖音很火的 凡凡 以下是代码,需要你在申请腾讯云有关参数替换哦 # -*- coding: utf ...

  5. Python爬取《创造营2020》小姐姐数据用腾讯云人脸识别做颜值评分

    最近 创造营2020好多小姐姐吸引到我了,于是就有这这个 颜值100分的小姐姐高达21位比如前段时间抖音很火的 凡凡 以下是代码,需要你在申请腾讯云有关参数替换哦 # -*- coding: utf- ...

  6. 腾讯云人脸识别接口的使用

    文档地址:人脸识别简介_人脸识别购买指南_人脸识别操作指南-腾讯云 API Explorer 该工具提供了在线调用.签名验证.SDK 代码生成和快速检索接口等能力,能显著降低使用云 API 的难度,推 ...

  7. 腾讯云人脸识别接口demo

    身份认证接口:姓名+身份证号+本人照片 @ApiOperation(value = "自拍照+身份信息模式", notes = "自拍照+身份信息模式")@Po ...

  8. php对接腾讯云人脸识别

    接入流程图: 标题前提条件 创建查看密钥:密钥URL 必填参数RuleID:创建获取URL 在线调试:URL 简易流程文档:URL 技术文档:URL 安装腾讯云镜像以及依赖库 接入文档 镜像安装: c ...

  9. 腾讯云人脸核身和人脸识别是什么

    腾讯云人脸核身和人脸识别是什么 有一些客户过来咨询的时候都是拿着腾讯云人脸识别的链接来问能不能做实名认证判断这个人的身份,但是在腾讯云中能做实名认证上传身份证的叫做人脸核身,腾讯云的人脸识别是居于腾讯 ...

  10. 腾讯云人脸验证使用方法

    最近练习的一个小程序项目用到了人脸验证,奈何不会python,于是想到了百度云和腾讯云有人脸识别的API,于是就有了这篇文章 目录 一.获取人脸识别免费额度 二.创建人员库 三.人脸验证在线测试 四. ...

最新文章

  1. 区块链BaaS云服务(37)荷兰Techruption 区块链
  2. Arm64中的异常处理
  3. lombok 中的@Data注解
  4. 面霸篇:MQ 的 5 大关键问题详解
  5. rocketmq存储结构_阿里专家分享内部绝密RocketMQ核心原理与最佳实践笔记
  6. MySQL5.7版本安装
  7. Hibernate的缓存机制介绍
  8. 放下偏见,原来嵌入式程序员如此“妖娆”!
  9. 人工智能——前言概述
  10. Astar算法的Java实现 (其他很多都是错的,没有计入曼哈顿值的代价)
  11. 外螺纹对照表_螺纹符号对照表[1]
  12. 从“棱镜门”事件看数据安全如何保护
  13. 【Linux】SIGCHLD信号
  14. VC|MFC内存不能为read,内存不能为 written 分析
  15. 大数据安全的重要性解读
  16. 对 Error-State Kalman Filter 的理解
  17. 虚幻引擎 服务器作用_虚幻引擎5会在下一代平台上发挥作用吗?
  18. dbeaver一些基本操作和设置(含有设置背景豆沙绿护眼模式)
  19. 贪心算法之区间取点问题
  20. 智慧城市雨污分流监测系统解决方案

热门文章

  1. C语言socket accept()函数(提取出所监听套接字的等待连接队列中第一个连接请求,创建一个新的套接字,并返回指向该套接字的文件描述符)
  2. 什么是透传通道?(透明传输通道,就是当中继使)
  3. #ifdef __cplusplus 的用法(C语言调用c++代码)(extern “C“)
  4. 震惊!html文件注释也会影响运行代码!(werkzeug.routing.BuildError: Could not build url for endpoint)莫名其妙
  5. 网页同步交互和异步交互的区别?
  6. python如何拟合三维平面(拟合Intel Realsense D435深度数据点)
  7. 记录一下LabelImg实际绘制框颜色的位置
  8. pytorch torch.device类(表示在其上或将要分配torch.Tensor的设备)
  9. python timeit class Timer()类 timeit(string, string) repeat(string, string) default_timer() 耗时检测 执行速度
  10. ubuntu18.04 更改apt源