摘要:看一个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。然后一顿操作猛如虎:

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

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轻松搞定人脸识别,拯救初入职场的程序猿的更多相关文章

  1. PHP导出Excel一个方法轻松搞定

    /** * 导出数据为excel表格 *@param $data 一个二维数组,结构如同从数据库查出来的数组 *@param $title excel的第一行标题,一个数组,如果为空则没有标题 *@p ...

  2. 人脸识别JavaScript也可以轻松搞定

    前言 是不是觉得不可思议,js已经强大到这个地步? 是的,js日新月异,它在不断的进步.只要稍不留神,那我们都只能望尘莫及了. 今天我们就来看看是什么js插件可以如此厉害? 人脸识别JavaScrip ...

  3. 几行c#代码,轻松搞定一个女大学生

    几行c#代码,轻松搞定一个女大学生 的作业... 哈哈,标题党了哈,但是是真的,在外面敲代码,想赚点外快,接到了一个学生的期末考试,是一个天气预报的程序.程序并不难. 看到这个需求第一个想法就是只要找 ...

  4. 盘它!基于CANN的辅助驾驶AI实战案例,轻松搞定车辆检测和车距计算!

    摘要:基于昇腾AI异构计算架构CANN(Compute Architecture for Neural Networks)的简易版辅助驾驶AI应用,具备车辆检测.车距计算等基本功能,作为辅助驾驶入门级 ...

  5. 【转】轻松搞定FTP之FlashFxp全攻略

    转载网址:http://www.newhua.com/2008/0603/39163.shtml 轻松搞定FTP之FlashFxp全攻略 导读: FlashFXP是一款功能强大的FXP/FTP软件,融 ...

  6. 轻松搞定javascript变量(闭包,预解析机制,变量在内存的分配 )

    变量:  存储数据的容器     1.声明        var   2.作用域       全局变量. 局部变量. 闭包(相对的全局变量):   3.类型         a.基本类型(undefi ...

  7. Webcast / 技术小视频制作方法——自己动手录制video轻松搞定

    Webcast / 技术小视频制作方法——自己动手录制video轻松搞定 http://blog.sina.com.cn/s/blog_67d387490100wdnh.html 最近申请加入MSP的 ...

  8. 【微服务】之二:从零开始,轻松搞定SpringCloud微服务系列--注册中心(一)

    微服务体系,有效解决项目庞大.互相依赖的问题.目前SpringCloud体系有强大的一整套针对微服务的解决方案.本文中,重点对微服务体系中的服务发现注册中心进行详细说明.本篇中的注册中心,采用Netf ...

  9. 【微服务】之三:从零开始,轻松搞定SpringCloud微服务-配置中心

    在整个微服务体系中,除了注册中心具有非常重要的意义之外,还有一个注册中心.注册中心作为管理在整个项目群的配置文件及动态参数的重要载体服务.Spring Cloud体系的子项目中,Spring Clou ...

  10. 【微服务】之四:轻松搞定SpringCloud微服务-负载均衡Ribbon

    对于任何一个高可用高负载的系统来说,负载均衡是一个必不可少的名称.在大型分布式计算体系中,某个服务在单例的情况下,很难应对各种突发情况.因此,负载均衡是为了让系统在性能出现瓶颈或者其中一些出现状态下可 ...

随机推荐

  1. 【Unity3D】Shader Graph简介

    1 Shader Graph 简介 ​ Shader Graph 是 Unity 官方在 2018 年推出的 Shader 制作插件,是图形化的 Shader 制作工具,类似于 Blender 中的 ...

  2. 人工智能AI浪潮的掀起,打工人何去何从?

    感谢你阅读本文 自从2022年11月30日OpenAI公司推出了ChatGPT,至今一年了,而这一年国内也发生了天翻地覆的变化,各大厂商纷纷推出了自己的大模型和解决方案,例如百度的文心一言,阿里的通义 ...

  3. redis主从同步及redis哨兵机制

    1.主从和哨兵的作用: 角色 作用 主从 1.(提供)数据副本:多一份数据副本,保证redis高可用 2.  扩展(读)性能:如容量.QPS等 哨兵 1.监控: 监控redis主库及从库运行状态: 2 ...

  4. 产品代码都给你看了,可别再说不会DDD(九):领域事件

    这是一个讲解DDD落地的文章系列,作者是<实现领域驱动设计>的译者滕云.本文章系列以一个真实的并已成功上线的软件项目--码如云(https://www.mryqr.com)为例,系统性地讲 ...

  5. 字符串小记 II:字符串自动机

    OI 中的自动机指的是"有限状态自动机",它是对一串信号进行处理的数学模型,一般由以下三部分构成: 字符集(\(\Sigma\)),能够输入进自动机的字符集合. 状态集合(\(Q\ ...

  6. .Net Core3中微信退款证书本地调试正常读取证书,在服务器IIS中加载不到证书文件

    如图,在开发微信退款功能时,需要用到微信提供的证书文件.本地开发调试时是正常的,但放到服务器(WinServer 2012 R2)中,则报错提示找不到文件. 网上找了一堆骚操作都没什么卵用,最后在其中 ...

  7. Python输入一行字符,分别统计出其中大小写英文字母、空格、数字和其它字符的个数。

    import string def SlowSnail(s): up = 0 low = 0 space = 0 digit = 0 others = 0 for c in s: if c.isupp ...

  8. 震荡指标(一)RSI指标

    相对强弱指数RSI是根据一定时期内上涨点数和涨跌点数之和的比率制作出的一种技术曲线.能够反映出市场在一定时期内的景气程度.由威尔斯.威尔德(Welles Wilder)最早应用于期货买卖,后来人们发现 ...

  9. 基于TensorFlow 2与PaddlePaddle 2预测泰坦尼克号旅客生存概率的比较

    ​  目录 1,程序比较 2,训练过程对比: 3,训练结果对比 AI框架经过大浪淘沙之后,目前真正能够完整用于生产.科研.学术的只剩下了谷歌.脸书.百度三家的框架,本文通过一个泰坦尼克号旅客生存概率预 ...

  10. 小闫s人格大爆发 | 坐椅子上?study:sleep

    hadoop视频 搭建环境 刷单词 看电影