0
点赞
收藏
分享

微信扫一扫

php+laravel+百度智能云人脸识别详解

天天天蓝loveyou 2022-02-22 阅读 81

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

1. 下载SDK

composer require baidu/aip-sdk

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

<?php

namespace App\Http\Controllers\Face;

use App\Http\Controllers\Controller;
use Dcat\Admin\Grid\Filter\Group;
use Illuminate\Http\Request;

class FaceController extends Controller
{
    const APP_ID = '25640027';             //百度智能云获取
    const API_KEY = 'bXrfQjXEL6wXSt4hNsA7arev';     //百度智能云获取
    const SECRET_KEY = 'MAPGUugYAQXbxF7RqrjEgLBIajOgVNgN';    //百度智能云获取
    const IMAGE_Type = 'BASE64';  // 设置图片类型 必须大写
    const OPSTION = ['max_face_num'=>5,'face_field'=>'age,beauty,gender,expression'];   // 最大人脸数及返回 可选参数
    const GROUP = 'liyan1';   // 组名
    private $client;

    public function __construct()
    {
        //实例化对象
       $this->client = new \AipFace(self::APP_ID, self::API_KEY, self::SECRET_KEY);
    }

    /**
     * 人脸识别
     * @param $image string 人脸图片
     * */
    public function face(request $request){
        $image = $request['image'];
        if(empty($image)) return showMsg(400,'参数不全');
        $img = base64_encode(file_get_contents($image));
        $result = $this->client->detect($img,self::IMAGE_Type,self::OPSTION);
        return $result;
    }

    /**
     * 人脸搜索
     * @param $image string 人脸图片
     * */
    public function faceSearch(request $request){
        $image = $request['image'];
        if(empty($image)) return showMsg(400,'参数不全');
        $img = base64_encode(file_get_contents($image));
        $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'];
        $userId = $request['userId'];
        if(empty($image)) return showMsg(400,'参数不全');
        if(empty($userId)) return showMsg(400,'参数不全');
        $img = base64_encode(file_get_contents($image));
        $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'];
        if(empty($image) || empty($userId))  return showMsg(400,'参数不全');
        $img = base64_encode(file_get_contents($image));
        $result = $this->client->updateUser($img,self::IMAGE_Type,self::GROUP,$userId);
        return $result;
    }
}

3. 官方文档链接

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

举报

相关推荐

0 条评论