<?php require_once 'facepp_sdk.php'; ######################## ### example ### ######################## $facepp = new Facepp(); $facepp->api_key = '{your_key_here}'; $facepp->api_secret = '{your_secret_here}'; #detect local image $params['img'] = '{image file path}'; $params['attribute'] = 'gender,age,race,smiling,glass,pose'; $response = $facepp->execute('/detection/detect', $params); print_r($response); #detect image by url $params['url'] = 'http://www.faceplusplus.com.cn/wp-content/themes/faceplusplus/assets/img/demo/1.jpg'; $response = $facepp->execute('/detection/detect', $params); print_r($response); if ($response['http_code'] == 200) { #json decode $data = json_decode($response['body'], 1); #get face landmark foreach ($data['face'] as $face) { $response = $facepp->execute('/detection/landmark', array('face_id' => $face['face_id'])); print_r($response); } #create person $response = $facepp->execute('/person/create', array('person_name' => 'unique_person_name')); print_r($response); #delete person $response = $facepp->execute('/person/delete', array('person_name' => 'unique_person_name'));
public function async() { $respons = array('s' => 0); import("Org.Net.Faceset"); import("Org.Net.Facepp"); $facepp = new \Facepp(); $faceset = new \Faceset('hehe'); $data = I("img"); $arr = array('data:image/jpg;base64,', 'data:image/png;base64,', 'data:image/jpeg;base64,'); $rand = 'abcdefg'; $file_name = time() . str_shuffle($rand); $data = str_replace($arr, '', $data); $img = base64_decode($data); $handle = file_put_contents("./wpic2/" . $file_name . ".jpg", $img); $size = filesize("./wpic2/" . $file_name . ".jpg"); if ($size > 1024 * 1024 * 5) { $respons['s'] = 2; $respons['error'] = "图片太大了,不能超过5M"; echo json_encode($respons); die; } if ($size > 1024 * 1024) { $image = new \Think\Image(); $image->open("./wpic2/" . $file_name . ".jpg"); $image->thumb(800, 800, \Think\Image::IMAGE_THUMB_FILLED)->save("./wpic2/" . $file_name . ".jpg"); } $imageins = M('image'); if ($handle) { $params['img'] = $_SERVER['DOCUMENT_ROOT'] . "/wpic2/{$file_name}.jpg"; $params['attribute'] = 'gender,age,race,smiling'; $rep = $facepp->execute('/detection/detect', $params); if (empty($rep['body'])) { $respons['s'] = 1; $respons['error'] = "图像无法识别"; echo json_encode($respons); die; } $rs = json_decode($rep['body']); /*foreach($rs->face as $k=>$v){ $data = array( 'face_id' => $v->face_id, 'img_id' => $rs->img_id, //'url' => $rs->url, 'pic_name' => $file_name.".jpg", ); //写入数据库 $imageins->add($data); }*/ $fres = $faceset->search($rs->face[0]->face_id, 1); } $fres = json_decode($fres['body']); //print_r($fres->candidate); $fid = $fres->candidate[0]->face_id; $similarity = $fres->candidate[0]->similarity; $data = $imageins->where("face_id='{$fid}'")->find(); $respons['img'] = $data['pic_name']; $respons['similarity'] = $similarity; echo json_encode($respons); // $facepp->execute('',array()); //echo json_encode($rep); }