阿里云有国际版和中国版,大家根据需求选择版本。我这里选择的是中国版
操作步骤
1、前往阿里云官网注册账号。如果已有注册账号,请跳过此步骤。
2、打开云盾内容安全产品试用页面,单击立即开通,正式开通服务。
3、在AccessKey管理页面管理您的AccessKeyID和AccessKeySecret。
4、安装php依赖
5、示例代码
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
require_once 'aliyuncs/aliyun-oss-php-sdk/autoload.php';
include_once 'aliyuncs/aliyun-php-sdk-core/Config.php';
use Green\Request\V20180509 as Green;
use Green\Request\Extension\ClientUploader;
class Aliyun extends Auth_Controller {
public function __construct(){
parent::__construct();
}
public function index(){
$img_url = array();
$img_url[]['url'] = 'https://img.alicdn.com/tfs/TB1k_g9l26H8KJjSspmXXb2WXXa-600-600.jpg';
$img_url[]['url'] = 'https://img.alicdn.com/tfs/TB1Fy7Hl3vD8KJjy0FlXXagBFXa-1189-1189.jpg';
// print_r($img_url);
$this->get_img_code($img_url);
}
function get_img_code($img_url=array(),$scenes=array("porn","terrorism")){
//请替换成您的accessKeyId、accessKeySecret
$iClientProfile = DefaultProfile::getProfile("cn-shanghai", "您的accessKeyId", "您的accessKeySecret");
DefaultProfile::addEndpoint("cn-shanghai", "cn-shanghai", "Green", "green.cn-shanghai.aliyuncs.com");
$client = new DefaultAcsClient($iClientProfile);
$request = new Green\ImageSyncScanRequest();
$request->setMethod("POST");
$request->setAcceptFormat("JSON");
// 设置待检测图片, 一张图片一个task,
// 多张图片同时检测时,处理的时间由最后一个处理完的图片决定。
// 通常情况下批量检测的平均rt比单张检测的要长, 一次批量提交的图片数越多,rt被拉长的概率越高
// 这里以单张图片检测作为示例, 如果是批量图片检测,请自行构建多个task
// 计费按照该处传递的场景进行
// 一次请求中可以同时检测多张图片,每张图片可以同时检测多个风险场景,计费按照场景计算
// 例如:检测2张图片,场景传递porn,terrorism,计费会按照2张图片鉴黄,2张图片暴恐检测计算
$request->setContent(json_encode(array("tasks" => $img_url,
"scenes" => $scenes)));
try {
$response = $client->getAcsResponse($request);
print_r($response);
if(200 == $response->code){
$taskResults = $response->data;
foreach ($taskResults as $taskResult) {
if(200 == $taskResult->code){
$sceneResults = $taskResult->results;
foreach ($sceneResults as $sceneResult) {
$scene = $sceneResult->scene;
$suggestion = $sceneResult->suggestion;
// 根据scene和suggetion做相关处理
// do something
}
}else{
print_r("task process fail:" + $response->code);
}
}
}else{
print_r("detect not success. code:" + $response->code);
}
} catch (Exception $e) {
print_r($e);
}
}
}
返回结果
Array
(
[0] =Array
(
[url] =https://img.alicdn.com/tfs/TB1k_g9l26H8KJjSspmXXb2WXXa-600-600.jpg
)
[1] =Array
(
[url] =https://img.alicdn.com/tfs/TB1Fy7Hl3vD8KJjy0FlXXagBFXa-1189-1189.jpg
)
)
stdClass Object
(
[code] =200
[data] =Array
(
[0] =stdClass Object
(
[code] =200
[extras] =stdClass Object
(
)
[msg] =OK
[results] =Array
(
[0] =stdClass Object
(
[label] =porn
[rate] =99.74
[scene] =porn
[suggestion] =block
)
[1] =stdClass Object
(
[label] =normal
[rate] =99.99
[scene] =terrorism
[suggestion] =pass
)
)
[taskId] =img74By2xnP4ge6Ht5vcpbQ45-1smc6E
[url] =https://img.alicdn.com/tfs/TB1k_g9l26H8KJjSspmXXb2WXXa-600-600.jpg
)
[1] =stdClass Object
(
[code] =200
[extras] =stdClass Object
(
)
[msg] =OK
[results] =Array
(
[0] =stdClass Object
(
[label] =normal
[rate] =98.19
[scene] =porn
[suggestion] =pass
)
[1] =stdClass Object
(
[label] =logo
[rate] =100
[scene] =terrorism
[suggestion] =block
)
)
[taskId] =img2xdmJkQTrxv5bXEUMgcQFS-1smc6E
[url] =https://img.alicdn.com/tfs/TB1Fy7Hl3vD8KJjy0FlXXagBFXa-1189-1189.jpg
)
)
[msg] =OK
[requestId] =7AFE0B5C-C093-4AED-BDA3-3A369D878F45
)
结果内容参考:
场景 | 描述 | scene | label |
---|---|---|---|
图片智能鉴黄 | 识别图片中的色情内容。 | porn |
|
图片暴恐涉政识别 | 识别图片中的暴恐涉政内容。 | terrorism |
|
图文违规识别 | 识别图片中的广告以及文字违规信息。 | ad |
说明 默认只会返回normal或者ad,如需其他label,请通过工单联系我们进行配置。 |
图片二维码识别 | 识别图片中的二维码。 | qrcode |
|
图片不良场景识别 | 识别图片中出现的黑屏、黑边、昏暗画面、画中画、抽烟、打架等不良场景。 | live |
|
图片logo识别 | 识别图片中的logo信息,例如台标,商标等。 | logo |
|