人脸识别

获取accesstoken

function access_token(){
    	$file = __DIR__ .'\access_token';


    	if (file_exists($file)) {
    		$str = file_get_contents($file);
    		try{
    			$arr = json_decode($str,true);
    			if (is_array($arr)) {
    				$totime = $arr['totime'];
    				if ($totime>time()) {
    					return $arr['access_token'];
    					exit;
    				}
    			}
    		}catch(Exception $e){


    		}
    	}
    	$apikey = "bPUy30FBc5hmkY3sb1KP8IFn";
    	$secretkey = "dGv6SIahr51wrsyGmU8qjyIvn4nQmPV5";


    	$url = 'https://aip.baidubce.com/oauth/2.0/token';
    $post_data['grant_type']       = 'client_credentials';
    $post_data['client_id']      = $apikey;
    $post_data['client_secret'] = $secretkey;
    $o = "";
    foreach ( $post_data as $k => $v ) 
    {
    	$o.= "$k=" . urlencode( $v ). "&" ;
    }
    $post_data = substr($o,0,-1);
    
    $res = https_post($url, $post_data);


    $arr = json_decode($res,true);
    if (isset($arr['access_token']) && isset($arr['expires_in'])) {
    	$data['access_token'] = $arr['access_token'];
    	$data['totime'] = time() + $arr['expires_in'] - 3600;


    	file_put_contents($file, json_encode($data));
    	return $arr['access_token'];
    }else{
    	return false;
    }
   }
人脸检测并入库
public function facevalid(){
        //获取access_token
        $token = access_token();
        // echo $token;

        $file = './Uploads/8.jpeg';
        if (!file_exists($file)) {
            die('文件不存在');
        }
         //$url = "https://aip.baidubce.com/rest/2.0/face/v2/detect?access_token=" . $token;
        //$img = file_get_contents($file);
        $image = base64_encode(file_get_contents($file));

        //如果有可选参数
        $options = array();

        $options["max_face_num"] = 2;
        $client = $this->init_face();
        $ret = $client->detect($image,'BASE64',$options);

        if ($ret['error_code']==0) {//有人脸
            $result = $ret['result'];
            $face_num = $result['face_num'];

            if (1 == $face_num) {//人脸数量为1
                $face_probability = $result['face_list'][0]['face_probability'];
                if (1 == $face_probability) {//可靠性为1
                    $guid = myguid();
                    
                    $groupId='face_get';

                    $client->addUser($image,'BASE64',$groupId,$guid);
                    echo '人脸检测完毕并已入库';
                }else{
                    die('可靠性为:'. $face_probability);
                }
            }else{
                die('人脸数量大于1');
            }
        }else{
            die('没有人脸');
        }
    }


你可能感兴趣的:(人脸识别)