微信小程式---人臉識別
阿新 • • 發佈:2019-02-17
本次人臉識別主要採用的是百度雲人臉識別介面
精準定點陣圖中人臉,獲得眼、口、鼻等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'); } } }