PHP 实现人脸识别登录+注册

1,165 阅读1分钟

首先要获取到图片,一般情况下是利用本地摄像头获取,也可自行上传,摄像头获取可以参考

HTML5 调用摄像头实现拍照并获取图片 - 掘金 (juejin.cn)

获取到文件后即可进行后续操作

准备工作

首先,要有一个百度云账号并获取到自己的App_Id、API_KEY、Secret_Key和创建好的人脸库名,可以在百度云人脸识别模块下找到

image.png

image.png

image.png

Composer安装SDK

composer require baidu/aip-sdk

大概逻辑

image.png

image.png

上代码

在使用之前,要先实例化Api类

const APP_ID = '你的 App ID';
const API_KEY = '你的 Api Key';
const SECRET_KEY = '你的 Secret Key';

$client = new \AipFace(APP_ID, API_KEY, SECRET_KEY);

如果你是系统摄像头拍照,请先将base64文件转化为图片文件

// $base_img是获取到前端传递的值
$base_img = str_replace('data:image/png;base64,', '', $image);

出处:www.cnblogs.com/Renyi-Fan/p…

人脸检测

//这里直接传入转化后的文件
$image = "取决于image_type参数,传入BASE64字符串或URL字符串或FACE_TOKEN字符串";

$imageType = "BASE64";

// 调用人脸检测
$client->detect($image, $imageType);

人脸搜索

//这里直接传入转化后的文件
$image = "取决于image_type参数,传入BASE64字符串或URL字符串或FACE_TOKEN字符串";

$imageType = "BASE64";

//这是你的人脸库中,人脸用户组的组名
$groupIdList = "";

// 调用人脸搜索
$client->search($image, $imageType, $groupIdList);

人脸注册(添加一个人的人脸,即添加一个用户组中的用户)

//这里直接传入转化后的文件
$image = "取决于image_type参数,传入BASE64字符串或URL字符串或FACE_TOKEN字符串";

$imageType = "BASE64";

//填入人脸库中的人脸用户组名
$groupId = "";

//自定义用户名
$userId = "";

// 调用人脸注册
$client->addUser($image, $imageType, $groupId, $userId);

以上内容来自百度云人脸识别官网,错误码及各项参数介绍均可在官网进行阅读参考

cloud.baidu.com/doc/FACE/s/…

image.png