摘要:看一个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. 导出所有容器id号

    #!/bin/bash a=`docker ps|awk 'NR>1{print $1}'` FORMAT="%-12s\t,\t%-12s\t,\t%-12s\n" pri ...

  2. Go 如何实现多态

    在 Go 语言中,虽然没有经典的面向对象编程中的继承和多态的概念,但你可以通过接口(interface)来实现多态性.Go 语言鼓励组合和接口多态,这使得代码更加灵活和模块化.下面将详细介绍 Go 语 ...

  3. 一篇搞定Sentinel-搭建Spring Cloud Alibaba服务组件Sentinel实现服务资源控制

    1.Sentinel介绍 随着微服务的流行,服务和服务之间的稳定性变得越来越重要.Sentinel 是面向分布式.多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由.流量控制.流量整形 ...

  4. 2023-11-11:用go语言,字符串哈希+二分的例题。 给定长为 n 的源串 s,以及长度为 m 的模式串 p, 要求查找源串中有多少子串与模式串匹配, s‘ 与 s 匹配,当且仅当 s‘ 与 s

    2023-11-11:用go语言,字符串哈希+二分的例题. 给定长为 n 的源串 s,以及长度为 m 的模式串 p, 要求查找源串中有多少子串与模式串匹配, s' 与 s 匹配,当且仅当 s' 与 s ...

  5. L3-009 长城

    #include <bits/stdc++.h> using namespace std; using pii = pair<int, int>; using ll = lon ...

  6. 老知识复盘-SQL从提交到执行到底经历了什么

    一.什么是SQL sql(Structured Query Language: 结构化查询语言)是高级的费过程化编程语言,允许用户在高层数据结构上工作, 是一种数据查询和程序设计语言, 也是(ANSI ...

  7. Electron-React18-MacOS桌面管理系统|electron27+react仿mac桌面

    基于React18+Electron27+ArcoDesign仿macOS桌面端系统框架ElectronMacOS. electron-react-macOs 基于electron27.x+vite4 ...

  8. iOS APP包分析工具

    介绍 分享一款用于分析iOSipa包的脚本工具,使用此工具可以自动扫描发现可修复的包体积问题,同时可以生成包体积数据用于查看.这块工具我们团队内部已经使用很长一段时间,希望可以帮助到更多的开发同学更加 ...

  9. GUI界面实现小学生口算题卡功能(一)| 简要了解GUI

    上课没认真听,下课不好好写. 关于GUI,首先了解了一下什么是GUI: GUI(Graphical User Interface),图形用户界面.采用图形方式显示的计算机操作用户接口.与早期计算机使用 ...

  10. 数据分析工具 Datainside、Power BI、帆软(FineReport)怎么选?

    Datainside.Power BI和帆软(FineReport)都是数据分析领域常用的工具,它们各自有不同的特点和适用场景.下面将会详细介绍每个工具的功能和优势,以便您进行选择. Datainsi ...