使用Python SDK对图片进行风险检测,并同步返回检测结果。

接口描述

ImageSyncScanRequest
功能 支持的Region 描述
同步图片风险检测 cn-shanghaicn-beijing 对图片进行多个风险场景的识别,包括色情、暴恐敏感、文字的识别、指定人脸、图片广告、图片二维码识别。

调用示例

关于调用请求中的检测场景参数 scene,返回结果中的分类参数 label,以及操作建议参数 suggestion的说明,请参考SDK 调用参数说明
# coding=utf-8
# 调用同步图片检测服务接口,实时返回检测结果
from aliyunsdkcore import client
from aliyunsdkcore.profile import region_provider
from aliyunsdkgreen.request.v20180509 import ImageSyncScanRequest
import json
import uuid
import datetime
# 请替换成您自己的accessKeyId、accessKeySecret。您可以修改aliyun.ak.conf配置文件,也可以直接明文替换。
clt = client.AcsClient("您的accessKeyId", "您的accessKeySecret",'cn-shanghai')
region_provider.modify_point('Green', 'cn-shanghai', 'green.cn-shanghai.aliyuncs.com')
request = ImageSyncScanRequest.ImageSyncScanRequest()
request.set_accept_format('JSON')
# 同步检测只支持对单张图片进行检测,即只有一个task
task1 = {"dataId": str(uuid.uuid1()),
         "url":"http://xxxx.jpg",
         "time":datetime.datetime.now().microsecond
        }
# 场景参数支持:porn(色情)、terrorism(暴恐)qrcode(二维码)、ad(图片广告)、ocr(文字识别)
request.set_content(bytearray(json.dumps({"tasks": [task1], "scenes": ["porn"]}), "utf-8"))
response = clt.do_action(request)
print response
result = json.loads(response)
if 200 == result["code"]:
    taskResults = result["data"]
    for taskResult in taskResults:
        if (200 == taskResult["code"]):
            sceneResults = taskResult["results"]
            for sceneResult in sceneResults:
                scene = sceneResult["scene"]
                suggestion = sceneResult["suggestion"]
                print suggestion
                print scene
                # 根据scene和suggetion做相关处理
                # do something