微信小程序---人脸识别
本次人脸识别主要采用的是百度云人脸识别接口
精准定位图中人脸,获得眼、口、鼻等72个关键点位置,分析性别、年龄、表情等多种人脸属性
获取Access——token
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 = "******";
$secretkey = "*****";
$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()
{
$file=./Uploads/1.jpeg;
if(!file_exists($file)){
die(文件不存在);
}
$client = $this->init_face();
$image=file_get_contents($file);
$image=base64_encode($image);
$imageType="BASE64";
$options = array();
$options["max_face_num"] = 2;
$ret=$client->detect($image,$imageType,$options);
if($ret[error_code]==0){
$result = $ret[result];
$face_num = $result[face_num];
if($face_num == 1){
$face_probability = $result[face_list][0][face_probability];
if($face_probability == 1){
$guid=myguid();
$groupId=face_test;
$client->addUser($image,$imageType,$groupId,$guid);
echo "插入人脸库成功!";
}else{
die(可靠性为: . $face_probability);
}
}else{
die(人脸数量不为1);
}
}
}
