首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用百度云的面部识别接口测测你的颜值

题图 By Clm From Bing

基于大数据的人工智能越来越火,一些大的互联网公司把一些复杂的应用用webapi的形式暴露给开发者,开发者只需要调用这些接口就可以做一些有意思的事情了,但是这些大公司为了减轻服务器压力,有的时候需要二次开发。

百度云的面部识别接口就是这样一个应用,本篇文章就是带着大家用nodejs和百度云的SDK开发一个颜值测试接口,通俗的讲就是基于百度云面部识别接口的二次开发。

首先我们要注册一个百度账号,然后访问百度云的官网,不是百度云盘啊,大家看清楚啊,然后登陆控制台,选择产品服务的人脸识别,如图所示:

然后点击创建应用如图:

然后得到三个数据 appid appkey secrect key:

然后找到Nodejs的SDK文档

通过官网文档的代码如下:

通读这段代码,道理很简单,用上面新建应用得到的appid、appkey、secretkey,生成一个客户端,然后调用fs模块读取图片信息,将图片信息转成base64格式字符串,用客户端将base64格式的字符串传到百度云服务器解析,得到结果,但是这个结果没有颜值分数,我们再次阅读文档:

通读文档发现,分析图片时,需要传递一个参数,face_fields,参数值为beauty。

最终能够得到颜值信息的代码为:

现在我们就能用这个js文件读取照片的颜值信息了,只需要将代码中的图片地址改成你本地图片地址就可以了。但是只能本地读取,如何将其变成一个webapi呢?

我们需要用到express包。开发一个post接口,用户通过向这个接口提交图片,接口返回图片解析后得到的信息。但是用户上传图片还需要用到另外一个npm包formable,改造代码如下(按照mvc的标准模式):

index.js

router.js

controller.js

imageparser.js

以上便是开发一个可以通过图片是被图片中人物颜值的webapi。用postman向这个api发送一张图片看看会返回什么,用postman上传一张黎明的图片:

用postman上传图片时,格式要用form-data格式,

打印结果为:

beauty为66.6...不是很高啊,测了下刘德华73,当然不同图片得分还是不一样的,大家辩证来看,可以偷偷测测自己的照片,怎么说百度也是市值70多亿的大公司,接口还是可以的,笔者分数就不透露了,伤心啊..

快过年了,分享一些轻松好玩的东西给大家,提前祝大家新年愉快啊!!!分数不高可别像笔者一样把电脑砸了啊,不值当,要砸就砸百度。

项目代码地址:https://github.com/clm1100/newnodejsdemo/tree/master/%E7%99%BE%E5%BA%A6%E5%9B%BE%E7%89%87%E6%8E%A5%E5%8F%A3

有兴趣的可以玩一玩。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180212G15QY300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券