本文為大家分享了微信小程序?qū)崿F(xiàn)人臉檢測(cè)的具體代碼,供大家參考,具體內(nèi)容如下
因?yàn)楸疚恼碌娜四槞z測(cè)技術(shù)運(yùn)用的是百度云人工智能,首先要有百度云的賬號(hào)。
近期,人臉識(shí)別已經(jīng)升級(jí)到了V3,開啟了測(cè)試,所以也依照v3文檔進(jìn)行了更新;
1、人臉識(shí)別的每個(gè)接口,都需要用到百度云的access_token,首先獲取 access-token ,一個(gè)月之后access_token過期;可以將獲取的存入文件,再次引用時(shí)可以判斷其是否過期,然后引用或者重新獲?。?/p>
//獲取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);//抓取指定網(wǎng)頁(yè) curl_setopt($curl, CURLOPT_HEADER, 0);//設(shè)置header curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//要求
2、創(chuàng)建初始化方法,需要用到 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框架)
將所需檢測(cè)圖片放入文件;具體參數(shù)可依照百度云人臉識(shí)別v3文檔查看。
// 人臉檢測(cè) public function facevalid(){ $file = './Upload/2018-05-17/1.png'; if (!file_exists($file)) { die('文件不存在!'); } $image = base64_encode(file_get_contents($file)); $imageType = 'BASE64'; //如果有可選參數(shù) $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) { //人臉數(shù)量為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 "人臉檢測(cè)完成,并入庫(kù)"; } }else{ die('可靠性為:'.$face_probability); } }else{ die('人臉數(shù)大于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; } }
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com