<?php
namespace Common\Model;
use Think\Model;
class AipFaceModel extends Model {
protected $tableName = 'member';
/**
* composer安装百度人脸识别AIP: composer require baidu/aip-sdk
*/
/**
* URl 人脸注册
* @param $param
* @return mixed
*/
public function add_user_by_url($param){
$return = ['status'=>0,'msg'=>'','data'=>[]];
if(empty($param['uid'])){$return['msg'] = '未获取到用户ID';return $return;}
if(empty($param['img_url'])){$return['msg'] = '未获取到图像地址';return $return;}
$image = $param['img_url'];
$imageType = 'URL';
$groupId = $param['group'] ? $param['group'] : 'group_1';
$userId = $param['uid'];
$AipFace = new \AipFace();
$res = $AipFace->addUser($image, $imageType, $groupId, $userId);
if($res['error_code'] != 0 || $res['error_msg'] != 'SUCCESS'){
$return['msg'] = '注册失败';
return $return;
}
$return['status'] = 1;
$return['msg'] = '注册成功';
$return['data'] = $res;
return $return;
}
/**
* URL 人脸搜索
* @param $param
* @return mixed
*/
public function search_user_by_url($param){
$return = ['status'=>0,'msg'=>'','data'=>[]];
if(empty($param['uid'])){$return['msg'] = '未获取到用户ID';return $return;}
if(empty($param['img_url'])){$return['msg'] = '未获取到图像地址';return $return;}
$image = $param['img_url'];
$imageType = 'URL';
$groupIdList = $param['group'] ? $param['group'] : 'group_1';
$options = [];
$options['max_face_num'] = 3;
$options['match_threshold'] = 50;
$options['quality_control'] = 'NORMAL';
$options['liveness_control'] = 'LOW';
$options['max_user_num'] = 1;
$options['user_id'] = $param['uid'];
$AipFace = new \AipFace();
$res = $AipFace->search($image, $imageType, $groupIdList, $options);
if($res['error_code'] != 0 || $res['error_msg'] != 'SUCCESS'){
$return['msg'] = '验证失败';
return $return;
}
$return['status'] = 1;
$return['msg'] = '验证成功';
$return['data'] = $res;
return $return;
}
/**
* 获取用户列表
* @param $param
* @return mixed
*/
public function get_group_users($param){
$return = ['status'=>0,'msg'=>'','data'=>[]];
$groupId = $param['group'] ? $param['group'] : 'group_1';
$AipFace = new \AipFace();
$res = $AipFace->getGroupUsers($groupId);
if($res['error_code'] != 0 || $res['error_msg'] != 'SUCCESS'){
$return['msg'] = '获取失败';
return $return;
}
$return['status'] = 1;
$return['msg'] = '获取成功';
$return['data'] = $res;
return $return;
}
/**
* 获取用户人脸列表
* @param $param
* @return mixed
*/
public function face_get_list($param){
$return = ['status'=>0,'msg'=>'','data'=>[]];
if(empty($param['uid'])){$return['msg'] = '未获取到用户ID';return $return;}
$userId = $param['uid'];
$groupId = $param['group'] ? $param['group'] : 'group_1';
$AipFace = new \AipFace();
$res = $AipFace->faceGetlist($userId, $groupId);
if($res['error_code'] != 0 || $res['error_msg'] != 'SUCCESS'){
$return['msg'] = '获取失败';
return $return;
}
$return['status'] = 1;
$return['msg'] = '获取成功';
$return['data'] = $res;
return $return;
}
/**
* 人脸删除
* @param $param
* @return mixed
*/
public function face_delete($param){
$return = ['status'=>0,'msg'=>'','data'=>[]];
if(empty($param['uid'])){$return['msg'] = '未获取到用户ID';return $return;}
if(empty($param['face_token'])){$return['msg'] = 'faceToken error';return $return;}
$userId = $param['uid'];
$groupId = $param['group'] ? $param['group'] : 'group_1';
$faceToken = $param['face_token'];
$AipFace = new \AipFace();
$res = $AipFace->faceDelete($userId, $groupId, $faceToken);
if($res['error_code'] != 0 || $res['error_msg'] != 'SUCCESS'){
$return['msg'] = '删除失败';
return $return;
}
$return['status'] = 1;
$return['msg'] = '删除成功';
$return['data'] = $res;
return $return;
}
}
百度AI人脸识别 部分接口封装调用
最新推荐文章于 2022-02-22 10:35:00 发布