前提条件: 首先,要有一个百度云账号并获取到自己的App_Id、API_KEY、Secret_Key和创建好的人脸库名

1. 下载SDK

composer require baidu/aip-sdk

2. 直接上代码  挂件地方已注释

<?phpnamespace App\Http\Controllers\Face;use App\Http\Controllers\Controller;
use Dcat\Admin\Grid\Filter\Group;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;class FaceController extends Controller
{const APP_ID = '';             //百度智能云获取const API_KEY = '';     //百度智能云获取const SECRET_KEY = '';    //百度智能云获取const IMAGE_Type = 'BASE64';  // 设置图片类型 必须大写const OPSTION = ['max_face_num'=>5,'face_field'=>'age,beauty,gender,expression'];   // 最大人脸数及返回 可选参数const GROUP = '';   // 组名private $client;public function __construct(){//实例化对象$this->client = new \AipFace(self::APP_ID, self::API_KEY, self::SECRET_KEY);}/*** 人脸识别* @param $image string 人脸图片* @param $type int 方式* */public function face(request $request){$image = $request['image'];$type = $request['type'];$img = $this->image($image,$type);$result = $this->client->detect($img,self::IMAGE_Type,self::OPSTION);return $result;}/*** 人脸搜索* @param $image string 人脸图片* @param $type int 方式* */public function faceSearch(request $request){$image = $request['image'];$type = $request['type'];$img = $this->image($image,$type);$result = $this->client->search($img,self::IMAGE_Type,self::GROUP);return $result;}/*** 人脸注册* @param $image string 人脸图片* @param $userId int  用户Id* */public function faceRegister(request $request){$image = $request['image'];$type = $request['type'];$userId = $request['userId'];if(empty($userId)) return showMsg(400,'参数不全');$img = $this->image($image,$type);$result = $this->client->addUser($img,self::IMAGE_Type,self::GROUP,$userId,self::OPSTION);return $result;}/*** 人脸删除* @param $faceToken string 删除的人脸图片token    注册成功时返回* @param $userId  int 用户ID* */public function faceDel(request $request){$faceToken = $request['faceToken'];$userId = $request['userId'];if(empty($faceToken) || empty($userId))  return showMsg(400,'参数不全');$result = $this->client->faceDelete($userId,self::GROUP,$faceToken);return $result;}/*** 人脸更新* @param $image string 人脸图片* @param $userId int 用户ID* */public function faceUpd(request $request){$userId = $request['userId'];$image = $request['image'];$type = $request['type'];if(empty($userId))  return showMsg(400,'参数不全');$img = $this->image($image,$type);$result = $this->client->updateUser($img,self::IMAGE_Type,self::GROUP,$userId);return $result;}/*** @param $image  string 人脸图* @param $type  int   类型   5为文件上传图  7为现拍图* */public function image($image,$type){if(empty($image) || empty($type)) return showMsg(400,'参数不全');$result = '参数不对';if($type == 5){$result = base64_encode(file_get_contents($image));}if($type == 7){$result = str_replace('data:image/png;base64,', '', $image);}return $result;}/*** 将图片保存到本地* 系统现拍 转码  base64编码字符串转换成图片* @param $image string base64串* */public function baseDecode($image){$imageName = "25220_".date("His",time())."_".rand(1111,9999).'.png';if (strstr($image,",")){$image = explode(',',$image);$image = $image[1];}$path = "./".date("Ymd",time());if (!is_dir($path)){ //判断目录是否存在 不存在就创建mkdir($path,0777,true);}$imageSrc= $path."/". $imageName; //图片名字$r = file_put_contents($imageSrc, base64_decode($image));//返回的是字节数if (!$r) {return showMsg(400,'图片生成失败');}else{$url = 'http://hyzf.cn/'.$imageSrc;return $url;}}
}

另附:调用本地摄像头现拍代码(注:只有HTTPS域名和127.0.0.1 才可调用本地摄像头)


<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>H5 canvas 调用摄像头进行绘制</title><style>html,body{width:100%;height:100%;padding: 0px;margin: 0px;overflow: auto;}#canvas{width:500px;height:300px;}#video{width:500px;height:300px;}.btn{display:inline-block;text-align: center;background-color: #333;color:#eee;font-size:14px;padding:5px 15px;border-radius: 5px;cursor:pointer;}</style>
</head>
<body><p style="text-align:center;font-size:12px;color:#555;">本DEMO不会存储任何有关视频图像信息,可以查看源码,都是在本地操作,没有任何服务器上传代码。</p><video id="video" autoplay="true" style="background-color:#ccc;display:none;"></video><div style="width:500px;height:300px;margin:30px auto;"><canvas id="canvas" width="500px" height="300px">您的浏览器不支持H5 ,请更换或升级!</canvas><span class="btn" filter="screenshot">视频截图</span><span class="btn" filter="close">暂停本地摄像头</span><span class="btn" filter="open">打开本地摄像头</span></div><div style="width:500px;height:300px;margin:40px auto;" id="show"></div>
</body>
</html>
<script>navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;var events = {open : function(){LV.open();},close : function(){console.log(LV.timer);clearInterval(LV.timer);},screenshot : function(){//获得当前帧的图像并拿到数据var image = canvas.toDataURL('jpeg');document.getElementById('show').innerHTML = '<img src="'+image+'" style="width:500px;height:300px;" />'}};var LV = {video : document.getElementById('video'),canvas : document.getElementById('canvas'),timer : null,media : null,open :function(){if(!LV.timer){navigator.getUserMedia({video : {width:500,height:300}},function(stream){LV.video.srcObject = stream;LV.video.onloadedmetadata = function(e) {LV.video.play();};},function(err){alert(err);//弹窗报错})}if(LV.timer){clearInterval(LV.timer);}//将画面绘制到canvas中LV.timer = setInterval(function(){LV.ctx.drawImage(LV.video,0,0,500,300);},15);},init : function(){LV.ctx = LV.canvas.getContext('2d');//绑定事件document.querySelectorAll('[filter]').forEach(function(item){item.onclick = function(ev){var type = this.getAttribute('filter');events[type].call(this,ev);}});return LV;}};LV.init();
</script>

3. 官方文档链接

人脸识别_人脸检测_人脸对比_人脸搜索_活体检测_百度智能云

php+laravel+百度智能云人脸识别详解相关推荐

  1. 百度智能云人脸识别java_demo完整实例

    1.首先需要注册百度智能云服务,注册完登录之后 找到对应的人脸识别云服务. 2.点击立即使用 3.创建应用 4.领取免费的api接口服务 5.领取完成之后,创建自己的应用,填写必填项之后创建即可 6. ...

  2. 人脸表情识别 微信小程序 百度智能云人脸识别API(含完整项目文件)

    展示 界面展示 正下方三个按钮: 左边:切换前后置摄像头 中间:拍照 右边:选择相册 识别结果展示 图像中有人脸时显示识别结果: 图像中无人脸时不显示识别结果: 获取百度智能云人脸识别API 1.进入 ...

  3. python+opencv+百度智能云 人脸识别——人脸融合

    一.设计思路 1.导入模块 import base64 import json import requests base64模块:由于某些系统中只能使用ASCII字符.Base64就是用来将非ASCI ...

  4. java百度实时人脸检测_Java对接百度智能云人脸识别

    --------------------->这篇文章就是自己做个笔记<-------------------- ----- 看到SDK其实就不需要看我这篇文章了,哈哈哈 ok,先找到人脸识 ...

  5. 百度智能云人脸采集SDK通过CFCA权威安全测评

    当前,黑产攻击手段防不胜防,移动端人脸实名认证环节面临着假体及人脸图片绕过的双重安全风险与挑战.为提升人脸实名认证解决方案的安全性,百度智能云发布了创新炫瞳活体检测增强对于非活体的拦截能力,基于与黑产 ...

  6. 百度智能云人脸活体检测系统获得公安部一所首批安全性能认证

    随着人工智能视觉技术的迅速发展,"刷脸"远程实名认证因其核验流程快捷,用户体验良好的优点被各行业所接受和应用,在银行开户.手机办卡.社交直播.电商用户认证等业务环节中随处可见,且往 ...

  7. 运用百度智能云车型识别API分析具体车型

    运用百度智能云车型识别API分析具体车型 一.申请Key 百度AI开放平台图像识别_API Key与Secret Key 二.获取access_token 我这里运用"黑魔法"进行 ...

  8. 识别验证码之百度智能云Api识别

    郑重声明: 本项目的所有代码和相关文章,仅用于经验技术交流分享,禁止将相关技术应用到不正当途径,因为滥用技术产生的风险与本人无关. 文章仅源自个人兴趣爱好,不涉及他用,侵权联系删 之前写过关于使用自动 ...

  9. 基于百度智能云api识别验证码

    基于百度智能云api识别验证码 通过调用百度智能云api接口进行验证码识别并输出. 使用baidu-aip模块进行模拟client登录,client.basicgeneral()函数识别图片文字并返回 ...

最新文章

  1. JS-undefined与null的区别
  2. 全网Star最多「近20k」的Spring Boot开源教程 2019 年要继续更新了
  3. 学完python_学完Python都可以做什么
  4. 从svn导入项目后处理一些报错信息
  5. 互联网安全问题的起因
  6. 从Text文本中读值插入到数据库中
  7. kohana3 数据库模块配置
  8. Python Turtle画分形树理解递归
  9. cognos transformer 建一个85w数据的cube所用的时间,接优化
  10. 《机器学习》(周志华)笔记
  11. 【现控】系统状态空间表达式
  12. gaster字体转换器_wingdings
  13. VBA实现多条件查询
  14. MIMO Radar
  15. Drillbeach---第二章 Drillbench 5.1 Dynaflodrill 用户指南
  16. C# ActiveX 网页打包验证自动升级
  17. Ureport2的表格更改小技巧
  18. 百度地图坐标转高德地图坐标
  19. java事件溯源_领域事件与事件溯源 - 解道Jdon
  20. 掌握云服务器使用的基本方法

热门文章

  1. Python学习:对象引用、可变性和垃圾回收
  2. JS逆向之去哪儿旅行 - - - 动态混淆
  3. [读书笔记] 代码整洁之道(一)
  4. AOP-01-02 房产经纪人网络营销之博客篇
  5. 016.文件和目录操作命令--md5sum
  6. Android 自定义ViewGroup 实战篇 - 实现FlowLayout
  7. Linux平台模拟ATM机系统
  8. 2021-2027全球与中国连续式网带炉市场现状及未来发展趋势
  9. 与高校同行,华为人工智能课程套件揭秘 | 华为昇腾师资培训沙龙成都场
  10. 到月宫上挖土-嫦娥五号背后的航天系统工程