之前公司弄了一个人脸识别是基于ie浏览器的ocx控件,是一个搞c的人写的,其原理是利用opencv的,大家有兴趣可以去看看opnecv的官网。但是这种过去片面只能用ie浏览器,因为ocx控件就是微软搞的。而且有点过于老旧。不稳定,接下来就给大家介绍一个利用百度实现人脸识别。
首先去百度创建一个人脸识别的应用(不会可以百度),我讲一下百度人脸识别的机制,就是他你创建一个应用之后你可以创建一个人脸库,然后人脸库是分组的,之后就是你可以手动添加照片到人脸库,也可以通过代码添加(看百度人脸管理的文档),添加完之后,你在调用代码,将摄像头拍的照片传到他们的后台,进行比对,比对他会返回一个人脸比对的分数给你。然后我用的是百度语音合成将对应的人名字播报出来。我觉得识别的效果还是可以的。接下来我就分享一点代码
百度的好处是他可以检测你是否是活体,你上传的照片质量,匹配得分是你现场拍的照片和人脸库的照片进行比对,他会匹配所以组下面的照片,得分最高的那个就是你匹配成功的,你可以自己设置。
这个是获取token的因为你上传照片啊,或者查询啊等需要你的token验证,这些在百度语音里面都有。
下面就是前端的东西一个叫tracking.js的一个东西,这个东西可以打开摄像头可以检测你的人脸进行拍照,其原理就是可以识别颜色。还有一个地方,就是假如那个人一值站在摄像头面前就会导致我语音播报一直播报他,效果不太好,最后我才用session的方式,设置了30秒之后进行该人的识别,具体看代码就行了。好了我主要讲这些吧。下面完整代码我就放在百度云吧
链接:https://pan.baidu.com/s/19aX9neabv7ddv1iQSUhaEg
提取码:ogpy
复制这段内容后打开百度网盘手机App,操作更方便哦