使用Python SDK对图片进行风险检测,检测结果通过ImageAsyncScanResultsRequest接口轮询。

接口描述

ImageAsyncScanRequest
功能 支持的Region 描述
异步图片风险检测 cn-shanghaicn-beijing 对图片进行多个风险场景的识别,包括色情、暴恐敏感、文字的识别、指定人脸、图片广告、图片二维码识别。
说明 需要配合 ImageAsyncScanResultsRequest接口来轮询检测结果。

调用示例

关于调用请求中的检测场景参数 scene,返回结果中的分类参数 label,以及操作建议参数 suggestion的说明,请参考SDK 调用参数说明
# coding=utf-8
# 调用异步图片检测服务接口,需要根据该接口返回的taskId来轮询结果
from aliyunsdkcore import client
from aliyunsdkcore.profile import region_provider
from aliyunsdkgreen.request.v20180509 import ImageAsyncScanRequest
import json
import uuid
import datetime
# 请修改aliyun.ak.conf配置文件,替换成您自己的accessKeyId、accessKeySecret
clt = client.AcsClient("您的accessKeyId", "您的accessKeySecret",'cn-shanghai')
region_provider.modify_point('Green', 'cn-shanghai', 'green.cn-shanghai.aliyuncs.com')
request = ImageAsyncScanRequest.ImageAsyncScanRequest()
request.set_accept_format('JSON')
# 异步检测支持检测最多50张图片,即50个task
task1 = {"dataId": str(uuid.uuid1()),
         "url":"http://xxx.jpg",
         "time":datetime.datetime.now().microsecond
        }
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"]):
           taskId = taskResult["taskId"]
           print taskId
           # 将taskId 保存下来,间隔一段时间来轮询结果。具体请参照查询异步检测结果接口(ImageAsyncScanResultsRequest)说明