您现在的位置是:网站首页>>PHP>>php

使用face++实现人脸检测

发布时间:2020-04-13 11:21:55作者:wangjian浏览量:98点赞量:0

    face++文档地址: https://console.faceplusplus.com.cn/documents/4887579

    face++人脸检测接口地址

    https://api-cn.faceplusplus.com/facepp/v3/detect

    参数说明:

    是否必选参数名类型参数说明
    必选api_keyString调用此API的API Key
    必选api_secretString调用此API的API Secret
    必选image_base64Stringbase64 编码的二进制图片数据
    可选return_landmarkint是否检测并返回人脸关键点,默认为0不检测,1检测返回 83 个人脸关键点,2检测返回 106 个人脸关键点
    可选return_attributesString是否检测并返回根据人脸特征判断出的年龄、性别、情绪等属性,默认为none为不检测,可选参数为:gender,age,smiling,headpose,facequality,blur,eyestatus,emotion,ethnicity,beauty,mouthstatus,eyegaze,skinstatus,多个用逗号隔开
    可选(仅正式 API Key 可以使用)calculate_allint是否检测并返回所有人脸的人脸关键点和人脸属性,默认为0不检测,1检测
    可选(仅正式 API Key 可以使用)face_rectanglestring是否指定人脸框位置进行人脸检测,模拟人检测所有区域的人脸,参数规格:四个正整数,用逗号分隔,依次代表人脸框左上角纵坐标(top),左上角横坐标(left),人脸框宽度(width),人脸框高度(height)。例如:70,80,100,100
    可选beauty_score_minint颜值评分分数区间的最小值。默认为0
    可选beauty_score_maxint颜值评分分数区间的最大值。默认为100

    简单实例如下,这里我是用的时Yii框架的yiisoft/yii2-httpclient拓展实现:

    $url = 'https://api-cn.faceplusplus.com/facepp/v3/detect';
    //post传参
    $img = file_get_contents('XXXX');//人脸图像地址
    $img = base64_encode($img);
    $data = [
        'api_key' => 'XXXX',//api_key
        'api_secret' => 'XXXX',//api_secret
        'image_base64' => $img,//base64 编码的二进制图片
    ];
    $client = new Client();
    $response = $client->createRequest()
        ->setMethod('POST') // 请求方式
        ->setUrl($url)      // 请求地址
        ->setData($data)    //数据传数组
        ->setHeaders(['Content-Type'=>'multipart/form-data']) //header
        ->send();
    if (!$response->isOk){
       //错误信息
       var_dump($response->data['error_message']);
    } else {
       var_dump($response->data);
    }

    返回信息如下:

    image.png

    如上就可以通过face++实现人脸检测功能

0 +1