前言
因为识岁app比較简单。所以这节就完结吧,
当然另一些能够优化完好的地方,可是个人兴趣不是非常大,
有想继续完好的,源代码在这里:https://github.com/uikoo9/shisui
face++
在简单的介绍下face++,
不久前,微软推出了一个识别人年龄的站点:http://how-old.net/。
不得不说微软的算法牛逼,数据海量,本人測试的时候非常准确。
可是据说要借入微软的接口比較麻烦。就找了一个国内的类似接口,face++,
官网宣称。非常多国内的app都在使用。比如美图秀秀等,
暂且哪来用一用。
效果嘛,
非常多时候都不好,会提示找不到人脸。用官网的演示样例測试了下,确实是这样,而不是本人的用法有误。
官网演示样例:http://www.faceplusplus.com.cn/demo-detect/
face++的js实现
尽管效果不好。可是还得用。。
首先来到开发人员中心:http://www.faceplusplus.com.cn/uc_home/。
也就是文章顶部的图片。看到。须要进行一些注冊,比較简单,略过。
再然后找到api,发现一个须要的接口,识别人脸:http://www.faceplusplus.com.cn/detection_detect/。
这个接口的必须參数是ak,sk,url,
至于img直接post。我是没有研究明确怎么搞。
代码
// face pp qiao.facepp = { ak : ‘3bbeeac39cd5e8600d2cb05ac97f15fd‘, sk : ‘4lf9qM6e7GVLVAfKYITYx9R7GX6_5Taa‘ }; qiao.facepp.do = function(options){ var url = options.url; var attr = options.attr || ‘gender,age‘; var method = options.method || ‘detection/detect‘; var success = options.success; var fail = options.fail; new FacePP(qiao.facepp.ak, qiao.facepp.sk).request(method, { url: url, attribute: attr }, function(err, result) { if(err){ fail(); }else{ success(result); } }); };
代码比較简单
qiao.facepp。初始化信息。也就是你的ak,sk
qiao.facepp.do,開始訪问接口,这里仅仅须要传入图片的url地址就可以。
识岁代码
function facepp(){ if(url){ qiao.facepp.do({ url : url, success : function(result){ if(result && result.face && result.face.length){ var face = result.face[0].attribute; var str = ‘识别成功!性别:‘ + (face.gender.value == ‘Male‘ ? ‘男‘:‘女‘) + ‘,年龄:‘ + face.age.value; showRes(str); }else{ showRes(‘识别失败。请上传包括人脸的图片!‘); } }, fail : function(){ showRes(‘识别失败,请重试! ‘); } }); } } function showRes(msg){ $(‘#res‘).text(msg); endw(); } function beginw(){ $(‘#faceBtn‘).attr(‘disabled‘, true); qiao.h.waiting(); } function endw(){ qiao.h.closeWaiting(); $(‘#faceBtn‘).attr(‘disabled‘, false); }
接上几节的代码,
1.首先点击图片,弹出actionsheet——第一节
2.选择相片或者拍照然,也就是Camera和gallery组件——第二节
3.文件上传,Uploader组件——第三节
4.上传到七牛云。须要获得uptoken——第四。五节
5.利用face++进行之别,也就是本节
很多其它教程:
Hbuilder开发App实战1-识岁:http://uikoo9.com/book/detail/5
很多其它学习笔记:http://uikoo9.com/book