百度AI人脸识别 部分接口封装调用

<?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;
    }



}
发布了21 篇原创文章 · 获赞 6 · 访问量 1500

猜你喜欢

转载自blog.csdn.net/weixin_42047371/article/details/101109076