摘要:看一个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. Python网页应用开发神器fac 0.2.10版本新功能介绍

    fac项目地址:https://github.com/CNFeffery/feffery-antd-components 欢迎star支持 大家好我是费老师,由我开源维护的Python网页通用组件库f ...

  2. 运行 Python 脚本/代码的几种方式

    哈喽大家好,我是咸鱼 我们知道,python 脚本或者说 python 程序其实是一个包含了 python 代码的文件.要让它们实现特定功能,我们需要知道该如何运行(run)它 通过运行 python ...

  3. gcd|最大公约数|欧几里得算法|欧几里得算法证明 一文说明白

    gcd 最大公因数,也称最大公约数.最大公因子,指两个或多个整数共有约数中最大的一个.a,b的最大公约数记为 $ gcd(a,b) $ ,同样的,a,b,c的最大公约数记为 $ gcd(a,b,c) ...

  4. python环境配置常用命令

    #安装前请更新 sudo apt-get update python -m pip install --upgrade pip #升级PIP版本 sudo apt-get install python ...

  5. [Python急救站课程]温度转换程序

    华氏温度转换为摄氏度的温度转换程序共有三种写法 一.简单的温度转换程序 TempStr = input("请输入带有符号的温度值: ") # TemStr表示命令,表示占位符.=为 ...

  6. CSP2023-S复盘

    <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path s ...

  7. 嵌入式C编码规范

    每个程序员都有自己的编码风格,自己喜欢就好. 嵌入式C编码规范 上述博文来自转载

  8. easyre-153

    这里也是没有做出来,因为有隐藏函数的原因(第一次见) 攻防世界XCTF 3rd-RCTF-2017 easyre153学习笔记_rhelheg-CSDN博客 攻防世界逆向高手题之easyre-153- ...

  9. 用python计算圆周率PI,并显示进度条

    用python计算圆周率PI ‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪ ...

  10. 【Javaweb】做一个房产信息管理系统三(src目录的部署工作【三层框架】各个层含义)

    接下来,我打算进行Java文件的部署工作,但实际上为了得到更多的分数,我们还是应该先做页面 首先我们需要了解对于Javaweb,src下的目录应该如何部署:(三层架构单独开一篇讲) 那么这些都有什么含 ...