Skip to content

Commit efdd491

Browse files
nic12347franktguo
andauthored
CI-AI相关接口 (#326)
* CI-修复schema本地报错 * CI-补充sapcing参数 * CI-AI相关接口 --------- Co-authored-by: franktguo <franktguo@tencent.com>
1 parent cdd486d commit efdd491

32 files changed

+2405
-182
lines changed

sample/aIBodyRecognitionProcess.php

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?php
2+
3+
require dirname(__FILE__, 2) . '/vendor/autoload.php';
4+
5+
$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
6+
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
7+
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
8+
$cosClient = new Qcloud\Cos\Client(
9+
array(
10+
'region' => $region,
11+
'schema' => 'https', //协议头部,默认为http
12+
'credentials'=> array(
13+
'secretId' => $secretId,
14+
'secretKey' => $secretKey)));
15+
$local_path = "/data/exampleobject";
16+
try {
17+
// -------------------- 1. 人体识别 原图存储在COS -------------------- //
18+
$result = $cosClient->aIBodyRecognitionProcess(array(
19+
'Bucket' => 'examplebucket-125000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
20+
'Key' => 'test.jpg',
21+
));
22+
// 请求成功
23+
print_r($result);
24+
// -------------------- 1. 人体识别 原图存储在COS -------------------- //
25+
26+
// -------------------- 2. 人体识别 原图来自其他链接 -------------------- //
27+
$result = $cosClient->aIBodyRecognitionProcess(array(
28+
'Bucket' => 'examplebucket-125000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
29+
'Key' => '', // 该值为空即可
30+
'DetectUrl' => 'https://www.xxx.com/xxx.jpg',
31+
));
32+
// 请求成功
33+
print_r($result);
34+
// -------------------- 2. 人体识别 原图来自其他链接 -------------------- //
35+
} catch (\Exception $e) {
36+
// 请求失败
37+
echo($e);
38+
}

sample/aIGameRecProcess.php

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
<?php
2+
3+
require dirname(__FILE__, 2) . '/vendor/autoload.php';
4+
5+
$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
6+
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
7+
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
8+
$cosClient = new Qcloud\Cos\Client(
9+
array(
10+
'region' => $region,
11+
'schema' => 'https', //协议头部,默认为http
12+
'credentials'=> array(
13+
'secretId' => $secretId,
14+
'secretKey' => $secretKey)));
15+
$local_path = "/data/exampleobject";
16+
try {
17+
// -------------------- 1. 游戏场景识别 原图存储在COS -------------------- //
18+
$result = $cosClient->aIGameRecProcess(array(
19+
'Bucket' => 'examplebucket-125000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
20+
'Key' => 'test.jpg',
21+
));
22+
// 请求成功
23+
print_r($result);
24+
// -------------------- 1. 游戏场景识别 原图存储在COS -------------------- //
25+
26+
// -------------------- 2. 游戏场景识别 原图来自其他链接 -------------------- //
27+
$result = $cosClient->aIGameRecProcess(array(
28+
'Bucket' => 'examplebucket-125000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
29+
'Key' => '', // 该值为空即可
30+
'DetectUrl' => 'https://www.xxx.com/xxx.jpg',
31+
));
32+
// 请求成功
33+
print_r($result);
34+
// -------------------- 2. 游戏场景识别 原图来自其他链接 -------------------- //
35+
} catch (\Exception $e) {
36+
// 请求失败
37+
echo($e);
38+
}

sample/aIImageColoringProcess.php

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
<?php
2+
3+
require dirname(__FILE__, 2) . '/vendor/autoload.php';
4+
5+
$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
6+
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
7+
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
8+
$cosClient = new Qcloud\Cos\Client(
9+
array(
10+
'region' => $region,
11+
'schema' => 'https', //协议头部,默认为http
12+
'credentials'=> array(
13+
'secretId' => $secretId,
14+
'secretKey' => $secretKey)));
15+
try {
16+
// -------------------- 1. 下载时处理-原图存储在COS -------------------- //
17+
$object = 'xxx.jpg';
18+
$ciProcessParams = new Qcloud\Cos\ImageParamTemplate\CIProcessTransformation('AIImageColoring');
19+
$query = $ciProcessParams->queryString();
20+
$downloadUrl = $cosClient->getObjectUrl('examplebucket-1250000000', $object); // 获取下载链接
21+
echo "{$downloadUrl}&{$query}"; // 携带签名的图片地址以“&”连接
22+
// -------------------- 1. 下载时处理-原图存储在COS -------------------- //
23+
24+
// -------------------- 2. 下载时处理-原图来自其他链接 -------------------- //
25+
$ciProcessParams = new Qcloud\Cos\ImageParamTemplate\CIProcessTransformation('AIImageColoring');
26+
$ciProcessParams->addParam('detect-url', 'https://xxx.com/xxx.jpg');
27+
$query = $ciProcessParams->queryString();
28+
$downloadUrl = $cosClient->getObjectUrl('examplebucket-1250000000', ''); // 获取下载链接
29+
echo "{$downloadUrl}&{$query}";
30+
// -------------------- 2. 下载时处理-原图来自其他链接 -------------------- //
31+
32+
// ---------------------------- 3. 上传时处理 ---------------------------- //
33+
$ciProcessParams = new Qcloud\Cos\ImageParamTemplate\CIProcessTransformation('AIImageColoring');
34+
35+
$picOperations = new Qcloud\Cos\ImageParamTemplate\PicOperationsTransformation();
36+
$picOperations->setIsPicInfo(1); // is_pic_info
37+
$picOperations->addRule($ciProcessParams, "output.png"); // rules
38+
$result = $cosClient->putObject(array(
39+
'Bucket' => 'examplebucket-125000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
40+
'Key' => 'object.jpg',
41+
'Body' => fopen('/tmp/local.jpg', 'rb'), // 本地文件
42+
'PicOperations' => $picOperations->queryString(),
43+
));
44+
// 请求成功
45+
print_r($result);
46+
// ---------------------------- 3. 上传时处理 ---------------------------- //
47+
48+
// --------------------- 4. 云上数据处理 ------------------------------ //
49+
$ciProcessParams = new Qcloud\Cos\ImageParamTemplate\CIProcessTransformation('AIImageColoring');
50+
51+
$picOperations = new Qcloud\Cos\ImageParamTemplate\PicOperationsTransformation();
52+
$picOperations->setIsPicInfo(1); // is_pic_info
53+
$picOperations->addRule($ciProcessParams, 'output.jpg'); // rules
54+
$result = $cosClient->ImageProcess(array(
55+
'Bucket' => 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
56+
'Key' => 'test.jpg',
57+
'PicOperations' => $picOperations->queryString(),
58+
));
59+
// 请求成功
60+
print_r($result);
61+
// --------------------- 4. 云上数据处理 ------------------------------ //
62+
} catch (\Exception $e) {
63+
// 请求失败
64+
echo($e);
65+
}

sample/aIImageCropProcess.php

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
<?php
2+
3+
require dirname(__FILE__, 2) . '/vendor/autoload.php';
4+
5+
$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
6+
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
7+
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
8+
$cosClient = new Qcloud\Cos\Client(
9+
array(
10+
'region' => $region,
11+
'schema' => 'https', //协议头部,默认为http
12+
'credentials'=> array(
13+
'secretId' => $secretId,
14+
'secretKey' => $secretKey)));
15+
try {
16+
// -------------------- 1. 下载时处理-原图存储在COS -------------------- //
17+
$object = 'xxx.jpg';
18+
$ciProcessParams = new Qcloud\Cos\ImageParamTemplate\CIProcessTransformation('AIImageCrop');
19+
$ciProcessParams->addParam('width', 100); // 需要裁剪区域的宽度,与height共同组成所需裁剪的图片宽高比例;输入数字请大于0、小于图片宽度的像素值
20+
$ciProcessParams->addParam('height', 100); // 需要裁剪区域的高度,与width共同组成所需裁剪的图片宽高比例;输入数字请大于0、小于图片高度的像素值;width : height建议取值在[1, 2.5]之间,超过这个范围可能会影响效果
21+
$ciProcessParams->addParam('fixed', 0); // 是否严格按照 width 和 height 的值进行输出。
22+
$ciProcessParams->addParam('ignore-error', 1); // 当此参数为1时,针对文件过大等导致处理失败的场景,会直接返回原图而不报错。
23+
24+
$query = $ciProcessParams->queryString();
25+
$downloadUrl = $cosClient->getObjectUrl('examplebucket-1250000000', $object); // 获取下载链接
26+
echo "{$downloadUrl}&{$query}"; // 携带签名的图片地址以“&”连接
27+
// -------------------- 1. 下载时处理-原图存储在COS -------------------- //
28+
29+
// -------------------- 2. 下载时处理-原图来自其他链接 -------------------- //
30+
$ciProcessParams = new Qcloud\Cos\ImageParamTemplate\CIProcessTransformation('AIImageCrop');
31+
$ciProcessParams->addParam('detect-url', 'https://xxx.com/xxx.jpg');
32+
$ciProcessParams->addParam('width', 100); // 需要裁剪区域的宽度,与height共同组成所需裁剪的图片宽高比例;输入数字请大于0、小于图片宽度的像素值
33+
$ciProcessParams->addParam('height', 100); // 需要裁剪区域的高度,与width共同组成所需裁剪的图片宽高比例;输入数字请大于0、小于图片高度的像素值;width : height建议取值在[1, 2.5]之间,超过这个范围可能会影响效果
34+
$ciProcessParams->addParam('fixed', 0); // 是否严格按照 width 和 height 的值进行输出。
35+
$ciProcessParams->addParam('ignore-error', 1); // 当此参数为1时,针对文件过大等导致处理失败的场景,会直接返回原图而不报错。
36+
37+
$query = $ciProcessParams->queryString();
38+
$downloadUrl = $cosClient->getObjectUrl('examplebucket-1250000000', ''); // 获取下载链接
39+
echo "{$downloadUrl}&{$query}";
40+
// -------------------- 2. 下载时处理-原图来自其他链接 -------------------- //
41+
42+
// ---------------------------- 3. 上传时处理 ---------------------------- //
43+
$ciProcessParams = new Qcloud\Cos\ImageParamTemplate\CIProcessTransformation('AIImageCrop');
44+
$ciProcessParams->addParam('width', 100); // 需要裁剪区域的宽度,与height共同组成所需裁剪的图片宽高比例;输入数字请大于0、小于图片宽度的像素值
45+
$ciProcessParams->addParam('height', 100); // 需要裁剪区域的高度,与width共同组成所需裁剪的图片宽高比例;输入数字请大于0、小于图片高度的像素值;width : height建议取值在[1, 2.5]之间,超过这个范围可能会影响效果
46+
$ciProcessParams->addParam('fixed', 0); // 是否严格按照 width 和 height 的值进行输出。
47+
$ciProcessParams->addParam('ignore-error', 1); // 当此参数为1时,针对文件过大等导致处理失败的场景,会直接返回原图而不报错。
48+
49+
$picOperations = new Qcloud\Cos\ImageParamTemplate\PicOperationsTransformation();
50+
$picOperations->setIsPicInfo(1); // is_pic_info
51+
$picOperations->addRule($ciProcessParams, "output.png"); // rules
52+
$result = $cosClient->putObject(array(
53+
'Bucket' => 'examplebucket-125000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
54+
'Key' => 'object.jpg',
55+
'Body' => fopen('/tmp/local.jpg', 'rb'), // 本地文件
56+
'PicOperations' => $picOperations->queryString(),
57+
));
58+
// 请求成功
59+
print_r($result);
60+
// ---------------------------- 3. 上传时处理 ---------------------------- //
61+
62+
// --------------------- 4. 云上数据处理 ------------------------------ //
63+
$ciProcessParams = new Qcloud\Cos\ImageParamTemplate\CIProcessTransformation('AIImageCrop');
64+
$ciProcessParams->addParam('width', 100); // 需要裁剪区域的宽度,与height共同组成所需裁剪的图片宽高比例;输入数字请大于0、小于图片宽度的像素值
65+
$ciProcessParams->addParam('height', 100); // 需要裁剪区域的高度,与width共同组成所需裁剪的图片宽高比例;输入数字请大于0、小于图片高度的像素值;width : height建议取值在[1, 2.5]之间,超过这个范围可能会影响效果
66+
$ciProcessParams->addParam('fixed', 0); // 是否严格按照 width 和 height 的值进行输出。
67+
$ciProcessParams->addParam('ignore-error', 1); // 当此参数为1时,针对文件过大等导致处理失败的场景,会直接返回原图而不报错。
68+
69+
$picOperations = new Qcloud\Cos\ImageParamTemplate\PicOperationsTransformation();
70+
$picOperations->setIsPicInfo(1); // is_pic_info
71+
$picOperations->addRule($ciProcessParams, 'output.jpg'); // rules
72+
$result = $cosClient->ImageProcess(array(
73+
'Bucket' => 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
74+
'Key' => 'test.jpg',
75+
'PicOperations' => $picOperations->queryString(),
76+
));
77+
// 请求成功
78+
print_r($result);
79+
// --------------------- 4. 云上数据处理 ------------------------------ //
80+
} catch (\Exception $e) {
81+
// 请求失败
82+
echo($e);
83+
}

sample/aIImageEnhanceProcess.php

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
<?php
2+
3+
require dirname(__FILE__, 2) . '/vendor/autoload.php';
4+
5+
$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
6+
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
7+
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
8+
$cosClient = new Qcloud\Cos\Client(
9+
array(
10+
'region' => $region,
11+
'schema' => 'https', //协议头部,默认为http
12+
'credentials'=> array(
13+
'secretId' => $secretId,
14+
'secretKey' => $secretKey)));
15+
try {
16+
// -------------------- 1. 下载时处理-原图存储在COS -------------------- //
17+
$object = 'xxx.jpg';
18+
$ciProcessParams = new Qcloud\Cos\ImageParamTemplate\CIProcessTransformation('AIEnhanceImage');
19+
$ciProcessParams->addParam('denoise', 3); // 去噪强度值,取值范围为 0 - 5 之间的整数,值为 0 时不进行去噪操作,默认值为3。
20+
$ciProcessParams->addParam('sharpen', 3); // 锐化强度值,取值范围为 0 - 5 之间的整数,值为 0 时不进行锐化操作,默认值为3。
21+
$ciProcessParams->addParam('ignore-error', 1); // 当此参数为1时,针对文件过大等导致处理失败的场景,会直接返回原图而不报错。
22+
23+
$query = $ciProcessParams->queryString();
24+
$downloadUrl = $cosClient->getObjectUrl('examplebucket-1250000000', $object); // 获取下载链接
25+
echo "{$downloadUrl}&{$query}"; // 携带签名的图片地址以“&”连接
26+
// -------------------- 1. 下载时处理-原图存储在COS -------------------- //
27+
28+
// -------------------- 2. 下载时处理-原图来自其他链接 -------------------- //
29+
$ciProcessParams = new Qcloud\Cos\ImageParamTemplate\CIProcessTransformation('AIEnhanceImage');
30+
$ciProcessParams->addParam('detect-url', 'https://xxx.com/xxx.jpg');
31+
$ciProcessParams->addParam('denoise', 3); // 去噪强度值,取值范围为 0 - 5 之间的整数,值为 0 时不进行去噪操作,默认值为3。
32+
$ciProcessParams->addParam('sharpen', 3); // 锐化强度值,取值范围为 0 - 5 之间的整数,值为 0 时不进行锐化操作,默认值为3。
33+
$ciProcessParams->addParam('ignore-error', 1); // 当此参数为1时,针对文件过大等导致处理失败的场景,会直接返回原图而不报错。
34+
35+
$query = $ciProcessParams->queryString();
36+
$downloadUrl = $cosClient->getObjectUrl('examplebucket-1250000000', ''); // 获取下载链接
37+
echo "{$downloadUrl}&{$query}";
38+
// -------------------- 2. 下载时处理-原图来自其他链接 -------------------- //
39+
40+
// ---------------------------- 3. 上传时处理 ---------------------------- //
41+
$ciProcessParams = new Qcloud\Cos\ImageParamTemplate\CIProcessTransformation('AIEnhanceImage');
42+
$ciProcessParams->addParam('denoise', 3); // 去噪强度值,取值范围为 0 - 5 之间的整数,值为 0 时不进行去噪操作,默认值为3。
43+
$ciProcessParams->addParam('sharpen', 3); // 锐化强度值,取值范围为 0 - 5 之间的整数,值为 0 时不进行锐化操作,默认值为3。
44+
$ciProcessParams->addParam('ignore-error', 1); // 当此参数为1时,针对文件过大等导致处理失败的场景,会直接返回原图而不报错。
45+
46+
$picOperations = new Qcloud\Cos\ImageParamTemplate\PicOperationsTransformation();
47+
$picOperations->setIsPicInfo(1); // is_pic_info
48+
$picOperations->addRule($ciProcessParams, "output.png"); // rules
49+
$result = $cosClient->putObject(array(
50+
'Bucket' => 'examplebucket-125000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
51+
'Key' => 'object.jpg',
52+
'Body' => fopen('/tmp/local.jpg', 'rb'), // 本地文件
53+
'PicOperations' => $picOperations->queryString(),
54+
));
55+
// 请求成功
56+
print_r($result);
57+
// ---------------------------- 3. 上传时处理 ---------------------------- //
58+
59+
// --------------------- 4. 云上数据处理 ------------------------------ //
60+
$ciProcessParams = new Qcloud\Cos\ImageParamTemplate\CIProcessTransformation('AIEnhanceImage');
61+
$ciProcessParams->addParam('denoise', 3); // 去噪强度值,取值范围为 0 - 5 之间的整数,值为 0 时不进行去噪操作,默认值为3。
62+
$ciProcessParams->addParam('sharpen', 3); // 锐化强度值,取值范围为 0 - 5 之间的整数,值为 0 时不进行锐化操作,默认值为3。
63+
$ciProcessParams->addParam('ignore-error', 1); // 当此参数为1时,针对文件过大等导致处理失败的场景,会直接返回原图而不报错。
64+
65+
$picOperations = new Qcloud\Cos\ImageParamTemplate\PicOperationsTransformation();
66+
$picOperations->setIsPicInfo(1); // is_pic_info
67+
$picOperations->addRule($ciProcessParams, 'output.jpg'); // rules
68+
$result = $cosClient->ImageProcess(array(
69+
'Bucket' => 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
70+
'Key' => 'test.jpg',
71+
'PicOperations' => $picOperations->queryString(),
72+
));
73+
// 请求成功
74+
print_r($result);
75+
// --------------------- 4. 云上数据处理 ------------------------------ //
76+
} catch (\Exception $e) {
77+
// 请求失败
78+
echo($e);
79+
}

0 commit comments

Comments
 (0)