国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 小程序 > 正文

微信小程序開發實現人臉檢測功能

2020-03-21 16:17:28
字體:
來源:轉載
供稿:網友

本文為大家分享了微信小程序實現人臉檢測的具體代碼,供大家參考,具體內容如下

因為本文章的人臉檢測技術運用的是百度云人工智能,首先要有百度云的賬號。

近期,人臉識別已經升級到了V3,開啟了測試,所以也依照v3文檔進行了更新;

1、人臉識別的每個接口,都需要用到百度云的access_token,首先獲取 access-token ,一個月之后access_token過期;可以將獲取的存入文件,再次引用時可以判斷其是否過期,然后引用或者重新獲取:

//獲取access_token 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);   curl_setopt($curl, CURLOPT_SSLVERSION, 1);   $data = curl_exec($curl);//運行curl   curl_close($curl);      return $data; }  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){      }   }    $url = 'https://aip.baidubce.com/oauth/2.0/token';   $post_data['grant_type'] = 'client_credentials';   $post_data['client_id'] = 'fRuY7eOPxBzIHf4qxiYeQOHT';   $post_data['client_secret'] = 'oe7L7aPc5rcKfSewvb5h6xFX2a8dEQN1';   $o = "";   foreach ( $post_data as $k => $v )    {     $o.= "$k=" . urlencode( $v ). "&" ;   }   $post_data = substr($o,0,-1);      $res = request_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'] - 86400;     file_put_contents($file, json_encode($data));     return $arr['access_token'];   }else{     return false;   }  } 

2、創建初始化方法,需要用到 Secret_Key、API_Key、App_ID,為用戶基本資料;

private function init_face(){     $App_ID = '用戶appid';     $API_Key = '用戶api_key';     $Secret_Key = '用戶secret_key';      $dir = APP_PATH.'/face-sdk/';     require_once $dir."AipFace.php";     return new /AipFace($App_ID, $API_Key, $Secret_Key); }

(thinkPHP框架)

將所需檢測圖片放入文件;具體參數可依照百度云人臉識別v3文檔查看。

// 人臉檢測 public function facevalid(){     $file = './Upload/2018-05-17/1.png';     if (!file_exists($file)) {       die('文件不存在!');     }     $image = base64_encode(file_get_contents($file));     $imageType = 'BASE64';     //如果有可選參數     $options = array();     $options['max_face_num'] = 2;      $client = $this->init_face();     $ret = $client->detect($image,$imageType,$options);     // print_r($ret);     if ($ret['error_code'] == 0) {//有人臉       $result = $ret['result'];       $face_num = $result['face_num'];        if ($face_num==1) { //人臉數量為1         $face_probability = $result['face_list'][0]['face_probability'];         if ($face_probability==1) { //可靠性為1           $user_id = myguid();           $group_id = $this->face_group();           $res = $client->addUser($image,'BASE64',$group_id,$user_id);           // print_r($res);           if ($res['error_code']==0) {             echo "人臉檢測完成,并入庫";           }                   }else{           die('可靠性為:'.$face_probability);         }       }else{         die('人臉數大于1');       }     }else{       die('沒有人臉');     }    }   // 獲取組   private function face_group(){     $groupname = '10001';     $client = $this->init_face();     $ret = $client->getGroupList();     if ($ret['error_code'] == 0) {       $grouplist = $ret['result']['group_id_list'];       if (in_array($groupname, $grouplist)) {         return $groupname;       }else{         $ret = $client->groupAdd($groupname);         if ($ret['error_code'] == 0) {           return $groupname;         }else{           return false;         }       }     }else{       return false;     } } 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 孝义市| 四平市| 汤原县| 柳林县| 黔西| 天津市| 徐闻县| 十堰市| 饶阳县| 容城县| 双鸭山市| 盐津县| 班玛县| 广宗县| 聂拉木县| 叙永县| 丰城市| 乌兰浩特市| 夹江县| 台安县| 云林县| 胶南市| 石泉县| 都匀市| 安远县| 济阳县| 南开区| 密云县| 永春县| 会同县| 贵阳市| 景洪市| 清河县| 丹棱县| 巨野县| 兴隆县| 光泽县| 攀枝花市| 宁安市| 盐边县| 聂拉木县|