腾讯人脸融合接口

根据说明文档写就行了,基本不而要做配置,直接使用下面代码就能调用接口。把 $app_key = 'Your_app_key';$app_id = 'Your_app_id'; 两个参数替换成自己的就行。要注意的是请求和回复的图片参数都是Base64位的图片格式,并且不带Base64的Data头部分。

/*
 * 人脸整合
 */
public function faceFuse($img)
{
    // 基本信息
    $app_key = 'Your_app_key';
    $app_id = 'Your_app_id';
    $nonce_str = rand(10000, 99999);
    $time_stamp = time();
    $model = 6746;
    // 处理基本信息
    $image = ltrim(strstr($img, ','), ',');

    // 拼接字符串,并签名
    $S = 'app_id=' . $app_id . '&image=' . urlencode($image) . '&model=' . $model . '&nonce_str=' . $nonce_str . '&time_stamp=' . $time_stamp . '&app_key=' . $app_key;
    $sign = strtoupper(md5($S));
    // 构建请求的数组
    $post_data = array(
        'app_id' => $app_id,
        'time_stamp' => $time_stamp,
        'nonce_str' => $nonce_str,
        'sign' => $sign,
        'image' => $image,
        'model' => $model
    );
    // 调用人脸整合的接口
    $x = $this->send_post('https://api.ai.qq.com/fcgi-bin/ptu/ptu_facemerge', $post_data);
    $object = json_decode(json_encode(json_decode($x)), true);
    // 获取返回内容拼接并返回
    return json_encode($object);
}

//发送post请求
function send_post($url, $post_data)
{
    $postdata = http_build_query($post_data);
    $options = array(
        'http' => array(
            'method' => 'POST',
            'header' => 'Content-type:application/x-www-form-urlencoded',
            'content' => $postdata,
            'timeout' => 15 * 60
        )
    );
    $context = stream_context_create($options);
    $result = file_get_contents($url, false, $context);
    return $result;
}

全部评论(0)
必填
必填,不公开
我信任你,不会填写广告链接
收起