初始化代码

This commit is contained in:
2025-12-22 14:32:54 +08:00
parent e27ab90d9f
commit d02b31a8b9
1459 changed files with 240973 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
# Mac
.DS_Store
Icon?
# PhpStorm
*.iml
.idea/

View File

@@ -0,0 +1,48 @@
<?php
/**
* Signature create related functions.
*/
namespace QcloudImage;
/**
* Auth class for creating reusable signature.
*/
class Auth {
public function __construct($appId, $secretId, $secretKey) {
$this->appId = $appId;
$this->secretId = $secretId;
$this->secretKey = $secretKey;
}
/**
* Return the appId
*/
public function getAppId() {
return $this->appId;
}
/**
* Create reusable signature.
* This signature will expire at time()+$howlong timestamp.
* Return the signature on success.
* Return false on fail.
*/
public function getSign($bucket, $howlong = 30) {
if ($howlong <= 0) {
return false;
}
$now = time();
$expiration = $now + $howlong;
$random = rand();
$plainText = "a=".$this->appId."&b=$bucket&k=".$this->secretId."&e=$expiration&t=$now&r=$random&f=";
$bin = hash_hmac('SHA1', $plainText, $this->secretKey, true);
return base64_encode($bin.$plainText);
}
private $appId = "";
private $secretId = "";
private $secretKey = "";
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,55 @@
<?php
/**
* Some settings for SDK.
*/
namespace QcloudImage;
/**
* Conf class.
*/
class Conf {
const VERSION = '2.0.0';
const SERVER_ADDR = 'service.image.myqcloud.com';
const SERVER_ADDR2 = 'recognition.image.myqcloud.com';
private $HOST = self::SERVER_ADDR2;
private $REQ_TIMEOUT = 60;
private $SCHEME = 'https';
public function useHttp() {
$this->SCHEME = 'http';
}
public function useHttps() {
$this->SCHEME = 'https';
}
public function setTimeout($timeout) {
if ($timeout > 0) {
$this->REQ_TIMEOUT = $timeout;
}
}
public function useNewDomain()
{
$this->HOST = self::SERVER_ADDR2;
}
public function useOldDomain()
{
$this->HOST = self::SERVER_ADDR;
}
public function timeout() {
return $this->REQ_TIMEOUT;
}
public function buildUrl($uri) {
return $this->SCHEME . '://' . $this->HOST . '/' . ltrim($uri, "/");
}
public static function getUa($appid = null) {
$ua = 'CIPhpSDK/'.self::VERSION.' ('.php_uname().')';
if ($appid) {
$ua .= " User($appid)";
}
return $ua;
}
}

View File

@@ -0,0 +1,28 @@
<?php
/**
* Error defination.
*/
namespace QcloudImage;
class Error {
/**
* Create reusable signature.
* This signature will expire at time()+$howlong timestamp.
* Return the signature on success.
* Return false on fail.
*/
public static function json($code, $message, $httpcode = 0) {
return json_encode(array(
'code' => $code,
'message' => $message,
'httpcode' => $httpcode,
'data' => json_decode('{}',true)
));
}
public static $Param = -1;
public static $Network = -2;
public static $FilePath = -3;
public static $Unknown = -4;
}

View File

@@ -0,0 +1,122 @@
<?php
/**
* Http Client use curl.
*/
namespace QcloudImage;
function my_curl_reset($handler) {
curl_setopt($handler, CURLOPT_URL, '');
curl_setopt($handler, CURLOPT_HTTPHEADER, array());
curl_setopt($handler, CURLOPT_POSTFIELDS, array());
curl_setopt($handler, CURLOPT_TIMEOUT, 0);
curl_setopt($handler, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($handler, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($handler, CURLOPT_PROXY, null);
}
class HttpClient {
private $proxy = '';
public function setProxy($proxy)
{
$this->proxy = $proxy;
}
public function __destory() {
if ($this->curlHandler) {
curl_close($this->curlHandler);
}
}
/**
* send http request
* @param array $request http请求信息
* url : 请求的url地址
* method : 请求方法,'get', 'post', 'put', 'delete', 'head'
* data : 请求数据如有设置则method为post
* header : 需要设置的http头部
* host : 请求头部host
* timeout : 请求超时时间
* cert : ca文件路径
* ssl_version: SSL版本号
* @return string http请求响应
*/
public function sendRequest($request) {
if (!is_array($request) || !isset($request["url"])) {
return false;
}
if ($this->curlHandler) {
if (function_exists('curl_reset')) {
curl_reset($this->curlHandler);
} else {
my_curl_reset($this->curlHandler);
}
} else {
$this->curlHandler = curl_init();
}
curl_setopt($this->curlHandler, CURLOPT_URL, $request['url']);
$method = 'GET';
if (isset($request['method']) &&
in_array(strtolower($request['method']), array('get', 'post', 'put', 'delete', 'head'))) {
$method = strtoupper($request['method']);
} else if (isset($request['data'])) {
$method = 'POST';
}
$header = isset($request['header']) ? $request['header'] : array();
$header[] = 'Connection: keep-alive';
if ('POST' == $method) {
$header[] = 'Expect: ';
}
isset($request['host']) && $header[] = 'Host:' . $request['host'];
curl_setopt($this->curlHandler, CURLOPT_HTTPHEADER, $header);
if (empty($this->proxy)) {
curl_setopt($this->curlHandler, CURLOPT_PROXY, null);
} else {
curl_setopt($this->curlHandler, CURLOPT_PROXY, $this->proxy);
}
curl_setopt($this->curlHandler, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($this->curlHandler, CURLOPT_CUSTOMREQUEST, $method);
isset($request['timeout']) && curl_setopt($this->curlHandler, CURLOPT_TIMEOUT, $request['timeout']);
isset($request['data']) && in_array($method, array('POST', 'PUT')) &&
curl_setopt($this->curlHandler, CURLOPT_POSTFIELDS, $request['data']);
$ssl = substr($request['url'], 0, 8) == "https://" ? true : false;
if (isset($request['cert'])) {
curl_setopt($this->curlHandler, CURLOPT_SSL_VERIFYPEER,true);
curl_setopt($this->curlHandler, CURLOPT_CAINFO, $request['cert']);
curl_setopt($this->curlHandler, CURLOPT_SSL_VERIFYHOST,2);
if (isset($request['ssl_version'])) {
curl_setopt($this->curlHandler, CURLOPT_SSLVERSION, $request['ssl_version']);
} else {
curl_setopt($this->curlHandler, CURLOPT_SSLVERSION, 4);
}
} else if ($ssl) {
curl_setopt($this->curlHandler, CURLOPT_SSL_VERIFYPEER,true); //true any ca
curl_setopt($this->curlHandler, CURLOPT_SSL_VERIFYHOST,2);
if (isset($request['ssl_version'])) {
curl_setopt($this->curlHandler, CURLOPT_SSLVERSION, $request['ssl_version']);
} else {
curl_setopt($this->curlHandler, CURLOPT_SSLVERSION, 4);
}
}
$ret = curl_exec($this->curlHandler);
$this->httpInfo = curl_getinfo($this->curlHandler);
return $ret;
}
public function statusCode() {
if ($this->httpInfo) {
return $this->httpInfo['http_code'];
}
return 0;
}
private $httpInfo;
private $curlHandler;
}

View File

@@ -0,0 +1,224 @@
# tencentyun/image-php-sdk-v2.0
[腾讯云](https://cloud.tencent.com) 云智AI应用服务智能图像 SDK for PHP
## 安装(直接下载源码集成)
### 直接下载源码集成
从github下载源码并加载image-php-sdk-v2.0/index.php就可以了。
调用请参考sample.php
### 1. 在腾讯云申请业务的授权
授权包括:
APP_ID
SECRET_ID
SECRET_KEY
BUCKET
### 2. 创建对应操作类的对象
如果要使用图片,需要创建图片操作类对象
require_once __DIR__ . '/index.php';
use QcloudImage\CIClient;
$client = new CIClient('APP_ID', 'SECRET_ID', 'SECRET_KEY', 'BUCKET');
$client->setTimeout(30);
### 3. 调用对应的方法
在创建完对象后根据实际需求调用对应的操作方法就可以了。sdk提供的方法包括图片识别、人脸识别及人脸核身等。
#### 3.1 图片识别
图片识别包括图片鉴黄、图片标签、OCR-身份证识别及OCR-名片识别。
##### 图片鉴黄
```php
//单个或多个图片Url
var_dump ($client->pornDetect(array('urls'=>array('YOUR URL A',
'YOUR URL B'))));
//单个或多个图片File
var_dump ($client->pornDetect(array('files'=>array('F:\pic\你好.jpg','G:\pic\test2.jpg'))));
```
##### 图片标签
```php
//单个图片url
var_dump ($client->tagDetect(array('url'=>'YOUR URL')));
//单个图片file
var_dump ($client->tagDetect(array('file'=>'G:\pic\hot1.jpg')));
//单个图片内容
var_dump ($client->tagDetect(array('buffer'=>file_get_contents('G:\pic\hot1.jpg'))));
```
##### OCR-身份证识别
```php
//单个或多个图片Url,识别身份证正面
var_dump ($client->idcardDetect(array('urls'=>array('YOUR URL A',
'YOUR URL B')), 0));
//单个或多个图片file,识别身份证正面
var_dump ($client->idcardDetect(array('files'=>array('F:\pic\id6_zheng.jpg', 'F:\pic\id2_zheng.jpg')), 0));
//单个或多个图片内容,识别身份证正面
var_dump ($client->idcardDetect(array('buffers'=>array(file_get_contents('F:\pic\id6_zheng.jpg'),
file_get_contents('F:\pic\id2_zheng.jpg'))), 0));
//单个或多个图片Url,识别身份证反面
var_dump ($client->idcardDetect(array('urls'=>array('YOUR URL C',
'YOUR URL D')), 1));
//单个或多个图片file,识别身份证反面
var_dump ($client->idcardDetect(array('files'=>array('F:\pic\id5_fan.jpg', 'F:\pic\id7_fan.png')), 1));
//单个或多个图片内容,识别身份证反面
var_dump ($client->idcardDetect(array('buffers'=>array(file_get_contents('F:\pic\id5_fan.jpg'),
file_get_contents('F:\pic\id7_fan.jpg'))), 1));
```
##### OCR-名片识别
```php
//单个或多个图片Url
var_dump ($client->namecardDetect(array('urls'=>array('YOUR URL A',
'YOUR URL B')), 0));
//单个或多个图片file,
var_dump ($client->namecardDetect(array('files'=>array('F:\pic\r.jpg', 'F:\pic\name2.jpg')), 1));
//单个或多个图片内容
var_dump ($client->namecardDetect(array('buffers'=>array(file_get_contents('F:\pic\name1.jpg'),
file_get_contents('F:\pic\name2.jpg'))), 0));
```
#### 3.2 人脸识别
人脸识别包括:人脸检测、五官定位、个体信息管理、人脸验证、人脸对比及人脸检索。
#### 人脸检测
```php
//单个图片Url, mode:1为检测最大的人脸 , 0为检测所有人脸
var_dump ($client->faceDetect(array('url'=>'YOUR URL'), 1));
//单个图片file,mode:1为检测最大的人脸 , 0为检测所有人脸
var_dump ($client->faceDetect(array('file'=>'F:\pic\face1.jpg'),0));
//单个图片内容,mode:1为检测最大的人脸 , 0为检测所有人脸
var_dump ($client->faceDetect(array('buffer'=>file_get_contents('F:\pic\face1.jpg')), 1));
```
##### 五官定位
```php
//单个图片Url,mode:1为检测最大的人脸 , 0为检测所有人脸
var_dump ($client->faceShape(array('url'=>'YOUR URL'),1));
//单个图片file,mode:1为检测最大的人脸 , 0为检测所有人脸
var_dump ($client->faceShape(array('file'=>'F:\pic\face1.jpg'),0));
//单个图片内容,mode:1为检测最大的人脸 , 0为检测所有人脸
var_dump ($client->faceShape(array('buffer'=>file_get_contents('F:\pic\face1.jpg')), 1));
```
##### 个体信息管理
```php
//个体创建,创建一个Person并将Person放置到group_ids指定的组当中不存在的group_id会自动创建。
//创建一个Person, 使用图片url
var_dump ($client->faceNewPerson('person1111', array('group11',), array('url'=>'YOUR URL'), 'xiaoxin'));
//创建一个Person, 使用图片file
var_dump ($client->faceNewPerson('person2111', array('group11',), array('file'=>'F:\pic\hot1.jpg')));
//创建一个Person, 使用图片内容
var_dump ($client->faceNewPerson('person3111', array('group11',), array('buffer'=>file_get_contents('F:\pic\zhao1.jpg'))));
//增加人脸,将一组Face加入到一个Person中。
//将单个或者多个Face的url加入到一个Person中
var_dump ($client->faceAddFace('person1111', array('urls'=>array('YOUR URL A',
'YOUR URL B'))));
//将单个或者多个Face的file加入到一个Person中
var_dump ($client->faceAddFace('person2111', array('files'=>array('F:\pic\yang.jpg','F:\pic\yang2.jpg'))));
//将单个或者多个Face的文件内容加入到一个Person中
var_dump ($client->faceAddFace('person3111', array('buffers'=>array(file_get_contents('F:\pic\yang.jpg'),file_get_contents('F:\pic\yang2.jpg')))));
// 删除人脸,删除一个person下的face
var_dump ($client->faceDelFace('person1', array('12346',)));
//设置信息
var_dump ($client->faceSetInfo('person1', 'fanbing'));
//获取信息
var_dump ($client->faceGetInfo('person1'));
//获取组列表
var_dump ($client->faceGetGroupIds());
//获取人列表
var_dump ($client->faceGetPersonIds('group1'));
//获取人脸列表
var_dump ($client->faceGetFaceIds('person1'));
//获取人脸信息
var_dump ($client->faceGetFaceInfo('1704147773393235686'));
//删除个人
var_dump ($client->faceDelPerson('person11'));
```
##### 人脸验证
给定一个Face和一个Person返回是否是同一个人的判断以及置信度
```php
//单个图片Url
var_dump ($client->faceVerify('person1', array('url'=>'YOUR URL')));
//单个图片file
var_dump ($client->faceVerify('person3111', array('file'=>'F:\pic\yang3.jpg')));
//单个图片内容
var_dump ($client->faceVerify('person3111', array('buffer'=>file_get_contents('F:\pic\yang3.jpg'))));
```
##### 人脸检索
对于一个待识别的人脸图片在一个Group中识别出最相似的Top5 Person作为其身份返回返回的Top5中按照相似度从大到小排列。
```php
//单个文件url
var_dump ($client->faceIdentify('group1', array('url'=>'YOUR URL')));
//单个文件file
var_dump ($client->faceIdentify('group11', array('file'=>'F:\pic\yang3.jpg')));
//单个文件内容
var_dump ($client->faceIdentify('group11', array('buffer'=>file_get_contents('F:\pic\yang3.jpg'))));
```
##### 人脸对比
```php
//两个对比图片的文件url
var_dump ($client->faceCompare(array('url'=>"YOUR URL A"),
array('url'=>'YOUR URL B')));
//两个对比图片的文件file
var_dump ($client->faceCompare(array('file'=>'F:\pic\yang.jpg'), array('file'=>'F:\pic\yang2.jpg')));
//两个对比图片的文件内容
var_dump ($client->faceCompare(array('file'=>'F:\pic\yang.jpg'), array('file'=>'F:\pic\yang2.jpg')));
```
#### 3.3 人脸核身
##### 身份证识别对比
```php
//身份证url
var_dump ($client->faceIdCardCompare('xxxxxxxxxxx', 'xxxxxxxxxxx', array('url'=>'YOUR URL')));
//身份证文件file
var_dump ($client->faceIdCardCompare('xxxxxxxxxxx', 'xxxxxxxxxxx', array('file'=>'F:\pic\idcard.jpg')));
//身份证文件内容
var_dump ($client->faceIdCardCompare('xxxxxxxxxxx', 'xxxxxxxxxxx', array('buffer'=>file_get_contents('F:\pic\idcard.jpg'))));
```
##### 活体检测—获取唇语验证码
```php
$obj = $client->faceLiveGetFour();
var_dump ($obj);
$validate_data = $obj['data']['validate_data'];
```
##### 活体检测-视频与用户照片的比对
```php
var_dump ($client->faceLiveDetectFour($validate_data, array('file'=>'F:\pic\ZOE_0171.mp4'), False, array('F:\pic\idcard.jpg')));
```
##### 活体检测-视频与身份证高清照片的比对
```php
var_dump ($client->faceIdCardLiveDetectFour($validate_data, array('file'=>'F:\pic\ZOE_0171.mp4'), 'xxxxxxxxxxx', 'xxxxxxxxxxx'));
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

View File

@@ -0,0 +1,11 @@
<?php
function classLoader1($class)
{
$path = str_replace('\\', DIRECTORY_SEPARATOR, $class);
$file = __DIR__ . DIRECTORY_SEPARATOR . $path . '.php';
if (file_exists($file)) {
require_once $file;
}
}
spl_autoload_register('classLoader1');

View File

@@ -0,0 +1,3 @@
<?php
require_once __DIR__ . '/autoload.php';

View File

@@ -0,0 +1,218 @@
<?php
require_once __DIR__ . '/index.php';
use QcloudImage\CIClient;
$appid = 'YOUR_APPID';
$secretId = 'YOUR_SECRETID';
$secretKey = 'YOUR_SECRETKEY';
$bucket = 'YOUR_BUCKET';
$client = new CIClient($appid, $secretId, $secretKey, $bucket);
//推荐使用https
$client->useHttps();
// 设置超时
$client->setTimeout(30);
// 选择服务器域名, 推荐使用新域名 useNewDomain ( recognition.image.myqcloud.com )
//
// 如果你:
// 1.正在使用人脸识别系列功能( https://cloud.tencent.com/product/FaceRecognition/developer )
// 2.并且是通过旧域名访问的
// 那么: 请继续使用旧域名
$client->useNewDomain();
//根据你的网络环境, 可能需要设置代理
//$client->setProxy('127.0.0.1:12759');
//图片鉴黄
//单个或多个图片Url
var_dump ($client->pornDetect(array('urls'=>array('http://open.youtu.qq.com./static/img/image_porn04.87591fe.jpg'))));
//单个或多个图片File
var_dump ($client->pornDetect(array('files'=>array('assets/icon_porn04.jpg'))));
//图片标签
//单个图片url
var_dump ($client->tagDetect(array('url'=>'http://open.youtu.qq.com./static/img/imag_02.f43527f.jpg')));
//单个图片file
var_dump ($client->tagDetect(array('file'=>'assets/icon_imag_01.jpg')));
//单个图片内容
var_dump ($client->tagDetect(array('buffer'=>file_get_contents('assets/icon_imag_01.jpg'))));
//身份证识别
//单个或多个图片Url,识别身份证正面
var_dump ($client->idcardDetect(array('urls'=>array('http://open.youtu.qq.com./static/img/ocr_id_01.883a2df.jpg')), 0/*0为正面,1为反面*/));
//单个或多个图片file,识别身份证正面
var_dump ($client->idcardDetect(array('files'=>array('assets/icon_id_01.jpg')), 0/*0为正面,1为反面*/));
//单个或多个图片内容,识别身份证正面
var_dump ($client->idcardDetect(array('buffers'=>array(file_get_contents('assets/icon_id_01.jpg'))), 0/*0为正面,1为反面*/));
//名片识别v2
//单个或多个图片Url
var_dump ($client->namecardV2Detect(array('urls'=>array('http://open.youtu.qq.com/app/img/experience/char_general/ocr_namecard_01.jpg'))));
//单个或多个图片file
var_dump ($client->namecardV2Detect(array('files'=>array('assets/ocr_namecard_01.jpg'))));
//单个或多个图片内容
var_dump ($client->namecardV2Detect(array('buffers'=>array(file_get_contents('assets/ocr_namecard_01.jpg')))));
//行驶证驾驶证识别
//单个或多个图片file
var_dump ($client->drivingLicence(array('file'=>'assets/icon_ocr_jsz_01.jpg'),1/*0表示行驶证1表示驾驶证*/));
//使用buffer
var_dump ($client->drivingLicence(array('buffer'=>file_get_contents('assets/icon_ocr_jsz_01.jpg')),1/*0表示行驶证1表示驾驶证*/));
//单个或多个图片Url
var_dump ($client->drivingLicence(array('url'=>'http://open.youtu.qq.com./static/img/ocr_jsz_01.53c2885.jpg'), 1/*0表示行驶证1表示驾驶证*/));
//车牌号识别
//单个图片file
var_dump ($client->plate(array('file'=>'assets/icon_ocr_license_3.jpg')));
//单个图片的URL
var_dump ($client->plate(array('url'=>'http://open.youtu.qq.com./static/img/ocr_license_01.d7ac40a.jpg')));
//银行卡识别
//单个图片file
var_dump ($client->bankcard(array('file'=>'assets/ocr_card_01.jpg')));
//使用buffer
var_dump ($client->bankcard(array('buffer'=>file_get_contents('assets/ocr_card_01.jpg'))));
//单个图片的URL
var_dump ($client->bankcard(array('url'=>'http://open.youtu.qq.com./static/img/ocr_card_01.dd4aada.jpg')));
//营业执照识别
//单个图片识别
var_dump ($client->bizlicense(array('file'=>'assets/ocr_yyzz_02.jpg')));
//使用buffer
var_dump ($client->bizlicense(array('buffer'=>file_get_contents('assets/ocr_yyzz_02.jpg'))));
//单个图片的URL
var_dump ($client->bizlicense(array('url'=>'http://open.youtu.qq.com./static/img/ocr_yyzz_01.1d874f9.jpg')));
//通用印刷体的识别
//单个图片的识别
var_dump ($client->general(array('file'=>'assets/ocr_common09.jpg')));
//单个图片的URL
var_dump ($client->general(array('url'=>'http://open.youtu.qq.com/static/img/ocr_common05.df60ecc.jpg')));
//手写体识别
//单个图片的识别
var_dump ($client->handwriting(array('file'=>'assets/ocr_hw_03.png')));
//单个图片的URL
var_dump ($client->handwriting(array('url'=>'http://open.youtu.qq.com./static/img/ocr_hw_03.2174a0a.jpg')));
//人脸检测
//单个图片Url, mode:1为检测最大的人脸 , 0为检测所有人脸
var_dump ($client->faceDetect(array('url'=>'https://open.youtu.qq.com/static/img/face_05.b64219d.jpg'), 0));
//单个图片file,mode:1为检测最大的人脸 , 0为检测所有人脸
var_dump ($client->faceDetect(array('file'=>'assets/face_05.jpg'),0));
//单个图片内容,mode:1为检测最大的人脸 , 0为检测所有人脸
var_dump ($client->faceDetect(array('buffer'=>file_get_contents('assets/face_05.jpg')), 0));
//五官定位
//单个图片Url,mode:1为检测最大的人脸 , 0为检测所有人脸
var_dump ($client->faceShape(array('url'=>'https://open.youtu.qq.com/static/img/face_05.b64219d.jpg'),0));
//单个图片Url,mode:1为检测最大的人脸 , 0为检测所有人脸
var_dump ($client->faceShape(array('file'=>'assets/face_05.jpg'),0));
//单个图片Url,mode:1为检测最大的人脸 , 0为检测所有人脸
var_dump ($client->faceShape(array('buffer'=>file_get_contents('assets/face_05.jpg')), 0));
//创建一个Person并将Person放置到group_ids指定的组当中, 使用图片url
var_dump ($client->faceNewPerson('personId0', array('groupId0'), array('url'=>'http://open.youtu.qq.com./static/img/face_01.f0c4a0c.jpg'), 'personName0','personTag0'));
//创建一个Person并将Person放置到group_ids指定的组当中, 使用图片file
var_dump ($client->faceNewPerson('personId1', array('groupId0'), array('file'=>'assets/face_02.jpg'), 'personName1', 'personTag1'));
//创建一个Person并将Person放置到group_ids指定的组当中, 使用图片内容
var_dump ($client->faceNewPerson('personId2', array('groupId0'), array('buffer'=>file_get_contents('assets/icon_id_01.jpg')), 'personName2', 'personTag2'));
//增加人脸,将单个或者多个Face的url加入到一个Person中.注意一个Face只能被加入到一个Person中。 一个Person最多允许包含20个Face
var_dump ($client->faceAddFace('person_one', array('urls'=>array('YOUR URL A','YOUR URL B'))));
//增加人脸,将单个或者多个Face的file加入到一个Person中.注意一个Face只能被加入到一个Person中。 一个Person最多允许包含20个Face
var_dump ($client->faceAddFace('person_two', array('files'=>array('F:\pic\yang.jpg','F:\pic\yang2.jpg'))));
//增加人脸,将单个或者多个Face的文件内容加入到一个Person中.注意一个Face只能被加入到一个Person中。 一个Person最多允许包含20个Face
var_dump ($client->faceAddFace('person_three', array('buffers'=>array(file_get_contents('F:\pic\yang.jpg'),file_get_contents('F:\pic\yang2.jpg')))));
//删除人脸
var_dump ($client->faceDelFace('person_one', array('one',)));
//设置信息
var_dump ($client->faceSetInfo('person_one', 'fanbing'));
//获取信息
var_dump ($client->faceGetInfo('person_one'));
//获取组列表
var_dump ($client->faceGetGroupIds());
//获取人列表
var_dump ($client->faceGetPersonIds('group1'));
//获取人脸列表
var_dump ($client->faceGetFaceIds('person_one'));
//获取人脸信息
var_dump ($client->faceGetFaceInfo('1704147773393235686'));
//删除个人
var_dump ($client->faceDelPerson('person_one'));
//人脸验证
//单个图片Url
var_dump ($client->faceVerify('person1', array('url'=>'YOUR URL')));
//单个图片file
var_dump ($client->faceVerify('person3111', array('file'=>'F:\pic\yang3.jpg')));
//单个图片内容
var_dump ($client->faceVerify('person3111', array('buffer'=>file_get_contents('F:\pic\yang3.jpg'))));
//人脸检索
//单个文件url
var_dump ($client->faceIdentify('group1', array('url'=>'YOUR URL')));
//单个文件file
var_dump ($client->faceIdentify('group11', array('file'=>'F:\pic\yang3.jpg')));
//单个文件内容
var_dump ($client->faceIdentify('group11', array('buffer'=>file_get_contents('F:\pic\yang3.jpg'))));
//人脸对比
//两个对比图片的文件url
var_dump ($client->faceCompare(array('url'=>"YOUR URL A"), array('url'=>'YOUR URL B')));
//两个对比图片的文件file
var_dump ($client->faceCompare(array('file'=>'F:\pic\yang.jpg'), array('file'=>'F:\pic\yang2.jpg')));
//两个对比图片的文件内容
var_dump ($client->faceCompare( array('buffer'=>file_get_contents('F:\pic\yang.jpg')), array('buffer'=>file_get_contents('F:\pic\yang3.jpg'))));
//身份证识别对比
//身份证url
var_dump ($client->faceIdCardCompare('ID CARD NUM', 'NAME', array('url'=>'YOUR URL')));
//身份证文件file
var_dump ($client->faceIdCardCompare('ID CARD NUM', 'NAME', array('file'=>'F:\pic\idcard.jpg')));
//身份证文件内容
var_dump ($client->faceIdCardCompare('ID CARD NUM', 'NAME', array('buffer'=>file_get_contents('F:\pic\idcard.jpg'))));
//人脸核身
//活体检测第一步:获取唇语(验证码)
$obj = $client->faceLiveGetFour();
var_dump ($obj);
$faceObj = json_decode($obj, true);
var_dump ($faceObj);
$validate_data = '';
if ($faceObj && isset($faceObj['data']['validate_data'])) {
$validate_data = $faceObj['data']['validate_data'];
}
var_dump ($validate_data);
//活体检测第二步:检测
var_dump ($client->faceLiveDetectFour($validate_data, array('file'=>'F:\pic\ZOE_0171.mp4'), False, array('F:\pic\idcard.jpg')));
//活体检测第二步:检测--对比指定身份信息
var_dump ($client->faceIdCardLiveDetectFour($validate_data, array('file'=>'F:\pic\ZOE_0171.mp4'), '330782198802084329', '季锦锦'));
//人脸静态活体检测
//使用image的检测
var_dump ($client->liveDetectPicture(array('file'=>'F:\pic\face1.jpg'),'123456'));
//使用buffer
var_dump ($client->liveDetectPicture(array('buffer'=>file_get_contents('F:\pic\face1.jpg')),'123456'));
//单个图片的URL
var_dump ($client->liveDetectPicture(array('url'=>'YOUR URL'),'123456'));
//多脸检索
//使用 image 和 group_id 的请求
var_dump ($client->multidentify(array('file'=>'F:\pic\r2.jpg'), array('group_id'=>'tencent')));
//使用 image 和 group_ids 的请求
var_dump ($client->multidentify(array('file'=>'F:\pic\face1.jpg'), array('group_ids'=>array("tencent","qq"))));
//使用 url 和 group_id 的请求
var_dump ($client->multidentify(array('url'=>'YOUR URL'), array('group_id'=>'tencent')));
//使用 url 和 group_ids 的请求
var_dump ($client->multidentify(array('url'=>'YOUR URL') , array('group_ids'=>array("tencent","qq"))));