图片识别功能基于图片AI技术,能够检测图片标签和置信度。
说明 要使用图片识别功能,您需要先开通智能媒体管理IMM,并在OSS中绑定IMM,详情请参阅
智能媒体管理快速开始。
标签采用分层体系结构,每个标签通常包含父标签(主标签),比如标签“男人”的父标签为“人物”,目前总共支持25个主标签,2131个标签。详情请参见内容识别。
参数
操作名称:imm/tagimage
返回结果参数说明:
名称 | 类型 | 描述 |
---|---|---|
TagId | String | 标签ID。 |
TagLevel | String | 标签级别,从1开始整数编码,1为顶级,2为次级,以此类推。 |
TagName | String | 标签名称。 |
ParentTagId | String | 上一级的TagId,如果为顶级则ParentTagId 为0。 |
ParentTagName | String | 上一级的标签名称,如果为顶级则ParentTagName为空。 |
TagScore | String | 标签置信度得分,小于等于1的浮点数。 |
返回结果示例:
{ "ImageUri":"oss://image-demo/example.jpg", "RequestId":"5C3D858E530E23D52CA0ED09", "Tags":[ { "TagConfidence":0.2999534606933594, "TagLevel":1, "TagName":"自然景观" }, { "ParentTagName":"自然景观", "TagConfidence":0.2999534606933594, "TagLevel":2, "TagName":"夜晚" }, { "TagConfidence":0.2677214741706848, "TagLevel":1, "TagName":"外部场景" }, { "ParentTagName":"外部场景", "TagConfidence":0.2677214741706848, "TagLevel":2, "TagName":"城市全景" } ], "httpStatusCode":200, "success":true }
对于图片标签的格式解析,请参见内容识别。
示例
假如请求Bucket是imm-demo,该Bucket所在区域为华东1(杭州),对应的域名为oss-cn-hangzhou.aliyuncs.com,请求预览照片为image.jpg,未签名的请求结构如下:
http://image-demo.oss-cn-hangzhou.aliyuncs.com/image.jpg?x-oss-process=imm/tagimage
通过Python SDK实现接口调用如下:
# 创建存储空间实例,所有文件相关的方法都需要通过存储空间实例来调用。 bucket = oss2.Bucket(oss2.Auth(access_key_id, access_key_secret), endpoint, bucket_name) # 图像识别。 style = 'imm/tagimage' resp = bucket.get_object(objectKey, process=style) # 解析结果。 data = resp.read(resp.content_length) result = json.loads(data) print "requestId: " + json.dumps(result["RequestId"], indent=4, sort_keys=True) print "SuccessDetails: " + json.dumps(result["SuccessDetails"], indent=4, sort_keys=True) print "FailDetails: " + json.dumps(result["FailDetails"], indent=4, sort_keys=True)