【探花交友】阿里云OSS、百度人脸识别
文章目录
1、完善用户信息
1.1、阿里云OSS
1.2、百度人脸识别
1、完善用户信息
用户在首次登录时需要完善个人信息,包括性别、昵称、生日、城市、头像等。其中,头像数据需要做图片上传,这里采用阿里云的OSS服务作为我们的图片服务器,并且对头像要做人脸识别,非人脸照片不得上传。
首次登录时(手机号码不存在),需要创建用户存入数据库中
客户端检测首次登录需要完善用户信息
填写用户基本信息
上传用户头像(需要人脸认证)
1.1、阿里云OSS
实现图片上传服务,需要有存储的支持,那么我们的解决方案将以下几种:
直接将图片保存到服务的硬盘(springmvc将的文件上传)
优点:开发便捷,成本低
缺点:扩容困难
使用分布式文件系统进行存储
优点:容易实现扩容
缺点:开发复杂度稍大(有成熟的产品可以使用,比如:FastDFS)
使用第三方的存储服务
优点:开发简单,拥有强大功能,免维护
缺点:付费
在本套课程中选用阿里云的OSS服务进行图片存储。
1.1.1、概述
对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件。容量和处理能力弹性扩展,多种存储类型供选择,全面优化存储成本。
地址:对象存储OSS_云存储服务_企业数据管理_存储-阿里云
1.1.2、账号申请
购买服务
使用第三方服务最大的缺点就是需要付费,下面,我们看下如何购买开通服务。
购买下行流量包: (不购买也可以使用,按照流量付费)
说明:OSS的上行流量是免费的,但是下行流量是需要购买的。
创建Bucket
使用OSS,首先需要创建Bucket,Bucket翻译成中文是水桶的意思,把存储的图片资源看做是水,想要盛水必须得有桶,就是这个意思了。
进入控制台,阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
选择Bucket后,即可看到对应的信息,如:url、消耗流量等 :
文件管理:
查看文件:
1.1.3、抽取模板工具
和发送短信类似,阿里云OSS也是采用自定义工具的形式进行封装
OssProperties
tanhua-autoconfig创建配置类
@Data @ConfigurationProperties(prefix = "tanhua.oss") public class OssProperties { private String accessKey; private String secret;private String bucketName;private String url; //域名private String endpoint; }
OssTemplate
tanhua-autoconfig创建模板对象
package com.tanhua.autoconfig.template; import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClientBuilder; import com.tanhua.autoconfig.properties.OssProperties; import java.io.InputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.UUID; public class OssTemplate { private OssProperties properties; public OssTemplate(OssProperties properties) {this.properties = properties;} /*** 文件上传* 1:文件名称* 2:输入流*/public String upload(String filename, InputStream is) {//3、拼写图片路径filename = new SimpleDateFormat("yyyy/MM/dd").format(new Date())+"/"+ UUID.randomUUID().toString() + filename.substring(filename.lastIndexOf(".")); // yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。String endpoint = properties.getEndpoint();// 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。String accessKeyId = properties.getAccessKey();String accessKeySecret = properties.getSecret(); // 创建OSSClient实例。OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId,accessKeySecret); // 填写Byte数组。// 填写Bucket名称和Object完整路径。Object完整路径中不能包含Bucket名称。ossClient.putObject(properties.getBucketName(), filename, is); // 关闭OSSClient。ossClient.shutdown(); String url = properties.getUrl() +"/" + filename;return url;} }
TanhuaAutoConfiguration
TanhuaAutoConfiguration加入配置
@EnableConfigurationProperties({SmsProperties.class,OssProperties.class }) public class TanhuaAutoConfiguration { @Beanpublic SmsTemplate smsTemplate(SmsProperties properties) {return new SmsTemplate(properties);} @Beanpublic OssTemplate ossTemplate(OssProperties properties) {return new OssTemplate(properties);} }
1.1.4、测试
tanhua-app-server加入配置内容,并测试
tanhua: oss:accessKey: LTAI4GKgob9vZ53k2SZdyAC7secret: LHLBvXmILRoyw0niRSBuXBZewQ30laendpoint: oss-cn-beijing.aliyuncs.combucketName: tanhua001url: https://tanhua001.oss-cn-beijing.aliyuncs.com/
编写测试类
@RunWith(SpringRunner.class) @SpringBootTest(classes = AppServerApplication.class) public class OssTest { @Autowiredprivate OssTemplate template; @Testpublic void testTemplateUpload() throws FileNotFoundException {String path = "C:\\Users\\lemon\\Desktop\\课程资源\\02-完善用户信息\\03-资料\\2.jpg";FileInputStream inputStream = new FileInputStream(new File(path));String imageUrl = template.upload(path, inputStream);System.out.println(imageUrl);} }
1.2、百度人脸识别
人脸识别(Face Recognition)基于图像或视频中的人脸检测、分析和比对技术,提供对您已获授权前提下的私有数据的人脸检测与属性分析、人脸对比、人脸搜索、活体检测等能力。灵活应用于金融、泛安防、零售等行业场景,满足身份核验、人脸考勤、闸机通行等业务需求
1.2.1、概述
地址:人脸识别_人脸识别_准确率99.99%_免费试用-百度AI开放平台
1.2.2、账号申请
账号登录注册
百度云AI支持百度账号登录,也可以支持云账号。按需注册即可
创建应用
按需创建应用
1.2.3、抽取模板工具
AipFaceProperties
@Data @ConfigurationProperties("tanhua.aip") public class AipFaceProperties {private String appId;private String apiKey;private String secretKey; @Beanpublic AipFace aipFace() {AipFace client = new AipFace(appId, apiKey, secretKey);// 可选:设置网络连接参数client.setConnectionTimeoutInMillis(2000);client.setSocketTimeoutInMillis(60000);return client;} }
AipFaceTemplate
package com.tanhua.autoconfig.template; import com.baidu.aip.face.AipFace; import org.json.JSONObject; import org.springframework.beans.factory.annotation.Autowired; import java.util.HashMap; public class AipFaceTemplate { @Autowiredprivate AipFace client; /*** 检测图片中是否包含人脸* true:包含* false:不包含*/public boolean detect(String imageUrl) {// 调用接口String imageType = "URL"; HashMap<String, String> options = new HashMap<String, String>();options.put("face_field", "age");options.put("max_face_num", "2");options.put("face_type", "LIVE");options.put("liveness_control", "LOW"); // 人脸检测JSONObject res = client.detect(imageUrl, imageType, options);System.out.println(res.toString(2)); Integer error_code = (Integer) res.get("error_code"); return error_code == 0;} }
1.2.4、测试
tanhua-app-server加入百度AI的配置信息
tanhua:aip:appId: 24021388apiKey: ZnMTwoETXnu4OPIGwGAO2H4GsecretKey: D4jXShyinv5q26bUS78xRKgNLnB9IfZh
编写单元测试类
@RunWith(SpringRunner.class) @SpringBootTest(classes = AppServerApplication.class) public class FaceTest { @Autowiredprivate AipFaceTemplate template; @Testpublic void detectFace() {String image = "https://tanhua001.oss-cn-beijing.aliyuncs.com/2021/04/19/a3824a45-70e3-4655-8106-a1e1be009a5e.jpg";boolean detect = template.detect(image);} }
【探花交友】阿里云OSS、百度人脸识别相关推荐
- 【探花交友DAY 03】个人信息完善 阿里云OSS百度人脸识别引入 统一Token和异常处理
1. 阿里云OSS和百度人脸识别 1.1 需求分析 在登录判断的时候,我们需要根据用户的手机号查询用户是否为新用户,如果为新用户,那么在登录完成后需要跳转到完善用户信息界面,用户需要设置性别,头像和昵 ...
- 阿里云平台的人脸识别接口测试
需要导入的包: 必备模块:import urllib 请求模块:import urllib.request 解析模块:import urllib.parse 可以拆分URL,也可以拼接URL 数据交 ...
- 阿里云 aliyun 人脸识别(1:N) java spring 小程序 小程序上传多图 阿里云oss
前段时间开发一个小程序需要使用到阿里云(1:N)人脸识别的服务,查询资料发现网上并没有详细的教程,而官方的api文档也写得很简略,于是就有了如下教程,希望能帮助到大家. 目录 服务开通 人脸识别服务开 ...
- 阿里云OSS上传及智能图像识别垃圾识别
阿里云OSS对象存储上传图片及智能图像识别垃圾识别 相信各位广大的新手程序员和我一样,想写一个智能图像识别,可是查百度总是查不到或者查的时候不知道是什么意思,下面我将我自己写查文档的过程和代码贡献出来 ...
- 整合百度UEditor上传图片到阿里云OSS
前言 将图片上传到阿里云OSS是一种趋势,一个必然.当你的项目图片过多,需要频繁上传和替换的时候,用阿里云OSS可以很方便的管理你的图片,节省服务器空间,大大提高了效率.阿里云OSS是阿里云提供的海量 ...
- 用多备份将网站数据备份到百度云,七牛云存储,阿里云OSS,亚马逊S3,金山云等云存储服务上
真正运营过网站的人都知道,数据对一个网站来说至关重要,因此,网站数据备份也是日常必做工作.因为误操作,网站被攻击等种种原因都会导致数据丢失,这时,你才会明白"有备无患"的道理.备份 ...
- 秀米编辑器(xiumi)+百度编辑器(Ueditor) 集成 :解决集成问题,秀米编辑器导出到百度编辑器格式问题,图片保存到自己的服务器(阿里云OSS)
1.集成前提条件: 1. 需要集成百度编辑器到环境中 2.https环境下才可以导出数据到百度编辑器,如果不是https环境,会出现错误 然后我们开始讲解如何集成: 2.引入资源: //百度编辑器需要 ...
- ossfs挂载百度对象存储_Linux利用OSSFS工具挂载阿里云OSS对象存储
在前面的文章中,我们了解了腾讯云的COS对象存储的挂载,这次我们来了解阿里云OSS对象存储的挂载以及两者的优缺点. 同腾讯云的CVM和COS一样,阿里云的OSS不仅可以挂载在自己的ECS上,也可以挂载 ...
- 阿里云oss(图片存储)--fastdfs (视频存储)
技术点总结: 注入OSSClient和配置类,文件格式的判断------通过入参获取到图片的文件名称,------ 在通过图片文件名称获取到自定义新的文件图片的名称----调用putObject() ...
最新文章
- 《预训练周刊》第24期:Infinite-former:无限记忆变换器、2500万悟道科研基金开始申请
- 【转】首先为人编写程序,其次才是计算机
- android 固定中间焦点,在Android上将相机焦点设置为受控固定距离
- git reset 怎么还原_git reset –hard后的恢复操作
- mysql生成app接口_Java实现app接口和Socket消息传递(10)java连接MySQL实现App登录接口...
- php框架例子,php框架中的动态实例化对象详解
- 【Elasticsearch】运行 400 多个节点的 Elasticsearch 集群
- 08.Prevent exceptions from leaving destructors
- dubbo优势_Dubbo的作用和特点
- Matlab实现——巧用灰色关联法完成“系统分析”与“综合评价”
- WIN10虚拟机安装教程
- 配置可访问外网静态IP
- php screw 密钥,php-screw php代码加密工具用法(整理)
- Clojure 学习入门(8)—— 连接mongodb
- 达梦数据库(DM)——表空间管理命令大全
- 今天才发现!华为手机点击这个按钮,就能自动保存通话录音
- JS单个、批量下载图片
- 记录一次糟心的pyinstall安装经历
- pydicom----用法一
- 2021-11-21 根据身高 体重计算出bmi指数,检测自己是否属于肥胖
热门文章
- DSSD: Deconvolutional Single Shot Detector
- 错误ORA-01438: 值大于为此列指定的允许精度
- 机器翻译质量评测算法-BLEU
- 官宣:无极SR4 Max,350AC发布
- 剑灵服务器维护到几点,《剑灵》公布首测具体开放时间 凌晨1点关服
- 海康录像机能用别的摄像头吗_海康录像机怎么添加网络摄像头,你会了吗?
- 梯有N阶,上楼可以一步上一阶,也可以一次上二阶(Java实现)
- 同一篇Word文档设置多个不同的页眉页脚
- STM32F103ZET6:CubeMX配置FSMC接口驱动SSD1963-7寸 TFTLCD
- C#windows竞赛管理系统