百度云 人脸检测

首先 获取 accesstoken

function request_post($url = '', $param = '') {
        if (empty($url) || empty($param)) {
            return false;
        }
        $postUrl = $url;
        $curlPost = $param;
        $curl = curl_init();//初始化curl
        curl_setopt($curl, CURLOPT_URL,$postUrl);//抓取指定网页
        curl_setopt($curl, CURLOPT_HEADER, 0);//设置header
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
        curl_setopt($curl, CURLOPT_POST, 1);//post提交方式
        curl_setopt($curl, CURLOPT_POSTFIELDS, $curlPost);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
        $data = curl_exec($curl);//运行curl
        curl_close($curl);
        return $data;
    }
    
   function token(){

    //获取accesstoken
    if(is_file(TOKENFILE)){
        $file = file_get_contents(TOKENFILE);
        $file = json_decode($file,true);
        if(time()-$file['guoqitime']>$file['expires_in']-200){
              return newAccessToken();
        }else{
            return $file['access_token'];
        }
    }else{
       newAccessToken();
     }
}  
function newAccessToken(){
    $url = 'https://aip.baidubce.com/oauth/2.0/token';
    $post_data['grant_type']      = 'client_credentials';
    $post_data['client_id']      = "QKhi7sXhTjwF7XR8dIYPhR7u";
    $post_data['client_secret'] = "rDprrjCcGz1E0OQQYDT1oqT1UjfmpCYs";
    $o = "";
    foreach ( $post_data as $k => $v ) 
    {
        $o.= "$k=" . urlencode( $v ). "&" ;
    }
    $post_data = substr($o,0,-1);

    $res = request_post($url, $post_data);
    $res = json_decode($res,true);
    $res['guoqitime'] = time();//创建时间
    $res = json_encode($res);
    file_put_contents(TOKENFILE,$res);
    }

获取到以后  构建如下的一组数据

$bodys = array(
            "image"=>$find['imgbase'],
            "max_face_num"=>5,
            "face_fields"=>""
          );

其中的 image 变量 需要进行base64位编码  max 是 识别最大的人脸数量  face 是得到那些数据

然后 在调用  百度云 人脸检测接口

https://aip.baidubce.com/rest/2.0/face/v2/detect?access_token=$token

通过 curl  访问 提交数据 

成功返回数据示例见百度云接口返回数据

猜你喜欢

转载自blog.csdn.net/woshigemengxin/article/details/80389033