如何通过一个SDK轻松搞定人脸识别,拯救初入职场的程序猿
摘要:看一个SDK如何拯救初入职场的程序猿小Hi…
【职场初体验】
时间过得真快,距离上次给小Hi安排“人脸识别”的开发任务(话接上期:【快速玩转华为云开发】小Hi拍了拍你,基于华为云API的开发你Get到了吗?)已经过去1个多月了,至今还没有收到一点进展的音讯,老板有些躁动起来。眼看着,离双12也就一两周的时间了,这是最后的deadline。老板眉头紧锁,点了一根“相约98”的香烟(小Hi正好是98后,一切都是巧合吧),长舒了一口气,给小Hi发了楼下咖啡厅见的信息。
程序猿小Hi入职后第二次被老板单独召见,这一次突然是在高大上的“小样”咖啡厅(一杯咖啡可以吸收宇宙的力量)。小Hi感到不妙,非常紧张,毕竟老板交待的第一个任务还没有搞定,遇到了点困难。
老板在招呼小Hi就座后,微笑着说(心里可能正憋着火):小Hi,人脸识别的需求自从前些日子在华为云API Explorer上找到相关API后,进展得还顺利吗?有没有什么困难需要我来推动解决的?
小Hi开始冒汗…结巴着说:“老板,我们要的API虽然找着了,而且也都在API Explorer上调试通过了,但还没有在代码工程里调通,我现有点沮丧…(眼泪都快掉起来了)”。
老板:小Hi,你先别着急,我理解你现在的心情,也注意到你最近工作非常卖力。我们先一起来缕缕,我们的目标是双12前正式上线人脸识别的功能,能将当前的现状具体描述下吗?
小Hi:在代码中调用这些API需要做很多封装工作,比如这里涉及诸多httpsclient公共方法的封装,涉及ak/sk的获取以及生成token等操作,需要写上千行代码,我以前对这块不熟悉,虽然近几周努力加班赶进度,但进度还不是很理想,风险很高哦;
老板:像华为云这样的Top厂商,除了API肯定是有提供SDK。有SDK的话,你只需要像使用函数一样,事半功倍哦!另外,以后工作上有什么风险,要及时反馈,及时求助。
小Hi一头雾水(什么是SDK?挂到嘴边又不好意思说),没想到老板除了能跟客户吹水外,技术路子也挺野的。在些许的不确定性中,想起了一句名言“没有退路,就是胜利之路”,于是抬头挺胸,大声的回答道:“老板,经过你的指导后,感觉豁然开朗,我这就去找SDK,谢谢老板,那我先回去工作去了,有问题我再及时求助”。说完,跟打了鸡血一样,兴高采烈地跑出咖啡厅(一口咖啡都没顾得上喝,但被老板激励到了,也算是吸收了宇宙的力量)。
【困难解决之路】
只见小Hi从过道飞驰而过,犹如一匹汗血宝马,让同事们都惊呆了,不知道哪来的自信。“我是一只小小鸟,有了SDK,我可以飞得更高…”,一边哼着小曲,一边在华为云官网搜索框输入:SDK。然后一顿操作猛如虎:
- 打开华为云官网->开发者->SDK(https://developer.huaweicloud.com/sdk?all):

- 搜索人脸识别FRS服务,找到Java SDK卡片,先进入SDK文档看看如何使用:

- SDK 入门指导出现在眼前,迫不及待地开始操作起来:(https://support.huaweicloud.com/sdkreference-face/face_04_0002.html)

One by One,不能再简单,原以为“开通人脸识别服务”的操作需要半天呢,没想到1分钟就完成了。
- 上面的环境准备工作大概只花了10来分钟,就轻松的搞定了。小Hi信心爆棚,接下就看“接口示例”代码了:
构造服务客户端代码:
String ak = "***";
String sk = "***";
String projectId = "**";
// Proxy info,当您需要使用代理才可以访问到服务时,可在此处增加代理信息
ProxyHostInfo proxyHostInfo = new ProxyHostInfo("proxy", 8080, "**", "**" );
// Service info
String url = "https://face.cn-north-4.myhuaweicloud.com";
String region = "cn-north-4";
AuthInfo authInfo = new AuthInfo(url, region, ak, sk);
FrsClient frsClient = new FrsClient(authInfo, projectId, proxyHostInfo); // 当您需要代理才可以访问到服务时,在第三个参数增加代理信息即可
调用人脸对比函数(检查相似度)
CompareFaceResult compareFaceResult = frsClient.getV2().getCompareService().compareFaceByFile("data\\小Hi-front.png", "data\\小Hi-side.png");
人脸对比图片:


返回结果:相拟度约为97%

小Hi看到结果后,还是有点不太相信自己的眼睛,幸福来得太突然了吧?想到前段时间使用过API Explorer调试功能,于是想对比下两种方式的结果是不是一致的。…点击调试,结果真得一样(相拟度约为97%):

太不可思议了,居然只需要copy几行代码就搞定了人脸检测服务API的集成开发工作。小Hi欣喜若狂,原来跟华为云API对接真得跟传说中的这么简单,One by One就搞定了,只是自己不知道捷径而已。No Copy, More Code! Low Copy, Low Code, No Code!
【幸福来敲门】
写在结尾:姜还是老的辣,经过老板随便一点拔,小Hi轻而易举地使用华为云SDK完成了入职以来的第一个任务,所谓背靠大树好乘凉啊。One day later,小Hi兴高采烈地走进老板办公室; Several minutes later,小Hi阳光灿烂地飞出办公室,空气中弥漫着升职加薪的气息。谁叫她证明了老板是对的呢,哈哈…
小道消息,老板之所以着急人脸识别功能要在双12上线,是因为他的第二个小公子预产期就是有12月12日,老板想用自己发布的产品来对两个儿子做个人脸识别,匹配下相似度。哎呀我勒个天啊,这消息要是让老板娘知道那还得了?
江湖传闻,不久后老板又开始接见小Hi,交待秘密差事。喜欢蹲墙根的人们,凭借同类的直觉,截获到小Hi的脑电波信号:“华为云CLI是什么鬼?额勒个娘,还有个模板引擎,我只听说过发动机引擎”。未完待续……
本文分享自华为云社区《【快速玩转华为云开发】小Hi如何取得人脸识别SDK处女秀的成功,幸福来敲门!》,原文作者:Mourinho。
如何通过一个SDK轻松搞定人脸识别,拯救初入职场的程序猿的更多相关文章
- PHP导出Excel一个方法轻松搞定
/** * 导出数据为excel表格 *@param $data 一个二维数组,结构如同从数据库查出来的数组 *@param $title excel的第一行标题,一个数组,如果为空则没有标题 *@p ...
- 人脸识别JavaScript也可以轻松搞定
前言 是不是觉得不可思议,js已经强大到这个地步? 是的,js日新月异,它在不断的进步.只要稍不留神,那我们都只能望尘莫及了. 今天我们就来看看是什么js插件可以如此厉害? 人脸识别JavaScrip ...
- 几行c#代码,轻松搞定一个女大学生
几行c#代码,轻松搞定一个女大学生 的作业... 哈哈,标题党了哈,但是是真的,在外面敲代码,想赚点外快,接到了一个学生的期末考试,是一个天气预报的程序.程序并不难. 看到这个需求第一个想法就是只要找 ...
- 盘它!基于CANN的辅助驾驶AI实战案例,轻松搞定车辆检测和车距计算!
摘要:基于昇腾AI异构计算架构CANN(Compute Architecture for Neural Networks)的简易版辅助驾驶AI应用,具备车辆检测.车距计算等基本功能,作为辅助驾驶入门级 ...
- 【转】轻松搞定FTP之FlashFxp全攻略
转载网址:http://www.newhua.com/2008/0603/39163.shtml 轻松搞定FTP之FlashFxp全攻略 导读: FlashFXP是一款功能强大的FXP/FTP软件,融 ...
- 轻松搞定javascript变量(闭包,预解析机制,变量在内存的分配 )
变量: 存储数据的容器 1.声明 var 2.作用域 全局变量. 局部变量. 闭包(相对的全局变量): 3.类型 a.基本类型(undefi ...
- Webcast / 技术小视频制作方法——自己动手录制video轻松搞定
Webcast / 技术小视频制作方法——自己动手录制video轻松搞定 http://blog.sina.com.cn/s/blog_67d387490100wdnh.html 最近申请加入MSP的 ...
- 【微服务】之二:从零开始,轻松搞定SpringCloud微服务系列--注册中心(一)
微服务体系,有效解决项目庞大.互相依赖的问题.目前SpringCloud体系有强大的一整套针对微服务的解决方案.本文中,重点对微服务体系中的服务发现注册中心进行详细说明.本篇中的注册中心,采用Netf ...
- 【微服务】之三:从零开始,轻松搞定SpringCloud微服务-配置中心
在整个微服务体系中,除了注册中心具有非常重要的意义之外,还有一个注册中心.注册中心作为管理在整个项目群的配置文件及动态参数的重要载体服务.Spring Cloud体系的子项目中,Spring Clou ...
- 【微服务】之四:轻松搞定SpringCloud微服务-负载均衡Ribbon
对于任何一个高可用高负载的系统来说,负载均衡是一个必不可少的名称.在大型分布式计算体系中,某个服务在单例的情况下,很难应对各种突发情况.因此,负载均衡是为了让系统在性能出现瓶颈或者其中一些出现状态下可 ...
随机推荐
- CF1401C
题目简化和分析: 交换数组使其变为升序,满足交互的两数 \(a_i\) 与 \(a_j\),$ \min{a_i(1\le i\le n)}|\gcd(a_i,a_j)$ . 简单思维题,Div.2 ...
- 我们又组织了一次欧洲最大开源社区活动,Hugging Face 博客欢迎社区成员发帖、Hugging Chat 功能更新!
每一周,我们的同事都会向社区的成员们发布一些关于 Hugging Face 相关的更新,包括我们的产品和平台更新.社区活动.学习资源和内容更新.开源库和模型更新等,我们将其称之为「Hugging Ne ...
- 前端web页面支持MQTT消息推送
MQTT服务一般用直接下载mosquitto,安装后启动服务即可.方便可靠. 但是默认情况下只开通了1883的tcp访问,用html的web页面上调用就不行了. 其实mosquitto是支持多端口的, ...
- Jenkins-插件安装-多实例
1,Jenkins插件安装: Jenkins最大的功能莫过于插件丰富,基于各种插件可以满足各项需求,Jenkins本身是一个框架,真正发挥作用的各种插件.Jenkins默认自带很多插件,如果没有添加新 ...
- Redis系列之常见数据类型应用场景
目录 String 简单介绍 常见命令 应用场景 Hash 简单介绍 常见命令 应用场景 List 简单介绍 常见命令 应用场景 Set 简单介绍 常见命令 应用场景 Sorted Set(Zset) ...
- 实现MyBatisPlus自定义sql注入器
目标:新增mysql下的 插入更新的语法 INSERT INTO %s %s VALUES %s ON DUPLICATE KEY UPDATE %s 新增方法类,新增的方法名称为insertOrUp ...
- Newbie_calculations
拿到这道题是个应用程序,经过上次的经验就跟程序交互了一下,结果根本交互不了,输入什么东西都没有反应 然后打开ida分析发现有几个函数还有一堆的操作数,看到这一堆东西就没心思分析了,后面才知道原来就是要 ...
- phpmyadmin修改上传限制,phpmyadmin修改上传文件大小限制,docker版本phpmyadmin
我用的是DOCKER 版本的phpmyadmin 修改/usr/local/etc/php/conf.d/phpmyadmin-misc.ini 内的限制变量文件为 100M,重启docker 容器后 ...
- EXCEL中逆向查找的十种方法
逆向查找在Excel中指的是根据某个数值或条件,查找该数值或条件所在的单元格位置.逆向查找可以帮助用户快速定位数据,对于数据分析和处理非常有用.下面将详细介绍在Excel中进行逆向查找的十种方法. 一 ...
- liunx系统登录有趣界面图案
# vim /etc/motd .::::. .::::::::. ::::::::::: ..:::::::::::' '::::::::::::' .:::::::::: '::::::::::: ...