华为云用户手册

  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 result result object 调用成功时为图片标签内容。 调用失败时无此字段。 表5 result 参数 参数类型 描述 suggestion String 总体的结论。有三个取值: true:真实 false:虚假 uncertainty:不确定 category String 标签。取值有以下两种情况: 若suggestion字段为true时,该字段为空。 若suggestion字段为false或者uncertainty时,该字段为recapture,表示为翻拍图。 score String 总体置信度,取值范围为(0~1)。 detail Array of detail objects 识别结果详情。 表6 detail 参数 参数类型 描述 label String 标签值,取值为recapture,表示翻拍图。 confidence String 置信度,取值范围为(0~1)。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 请求示例 方式一:使用图片的BASE64编码,检测出经过二次处理的不合规范图片,置信度的阈值为0.99。 POST https://{endpoint}/v2/{project_id}/image/recapture-detect{ "image" : "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAA...", "url" : "", "threshold" : 0.99} 方式二:使用图片URL,检测出经过二次处理的不合规范图片,置信度的阈值为0.99。 POST https://{endpoint}/v2/{project_id}/image/recapture-detect{ "image" : "", "url" : "https://BucketName.obs.myhuaweicloud.com/ObjectName", "threshold" : 0.99}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见获取Token接口,响应消息头中X-Subject-Token的值即为Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 image 否 String 与url二选一。 图像数据,base64编码,要求base64编码后大小不超过10MB,最短边至少1px,最长边最大10000px,支持JPG、PNG、BMP格式。 url 否 String 与image二选一。 图片的URL路径,目前支持: 公网HTTP/HTTPS URL 华为云OBS提供的URL,使用OBS数据需要进行授权。包括对服务授权、临时授权、匿名公开授权。详请参见配置OBS服务的访问权限。 说明: 接口响应时间依赖于图片的下载时间,如果图片下载时间过长,会返回接口调用失败。 请保证被检测图片所在的存储服务稳定可靠,建议您使用华为云OBS存储。 lmage不支持跨区域OBS,OBS的区域需要和服务保持一致。 threshold 否 Float 判断图片真实或虚假的阈值,默认值为0.95,取值范围(0~1),输入非该范围内值算法即取默认值。
  • 响应示例 状态码: 200 成功响应结果 { "result" : { "suggestion" : "false", "category" : "recapture", "score" : "0.9998", "detail" : [ { "label" : "recapture", "confidence" : "0.9998" } ] }} 状态码: 400 失败响应结果 { "error_code" : "AIS.0105", "error_msg" : "Recognize Failed"}
  • 请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的“endpoint”不同,具体请参见终端节点。 例如,服务部署在“华北-北京四”区域的“endpoint”为“image.cn-north-4.myhuaweicloud.com”,请求URL为“https://image.cn-north-4.myhuaweicloud.com/v2/{project_id}/image/image-highresolution-matting/tasks”,“project_id”为项目ID,获取方法请参见获取项目ID和名称。 创建图像高清抠图任务,任务的输入类型为url,返回带alpha通道的前景图片。 POST https://{endpoint}/v2/{project_id}/image/image-highresolution-matting/tasks{ "output" : { "obs" : { "bucket" : "xxxxxx", //任务运行结果输出的OBS桶名 "path" : "xxxxxx/" //任务运行结果输出的OBS路径 } }, "input" : { "data" : [ { "url" : "https://xxxxxx/test.jpg" } ], "type" : "url" }, "config" : { "common" : { "inference" : { "return_type" : "foreground", "coord" : [ 100, 100, 500, 500 ] } } }}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见获取Token接口,响应消息头中X-Subject-Token的值即为Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 input 是 TaskInput object 任务运行数据的输入配置参数。 output 是 TaskOutput object 任务运行结果的输出配置参数。 callback 否 TaskCallback object 任务运行结束时回调通知。 config 是 ImageHighresolutionMattingConfig object 任务运行的配置参数。 表4 TaskInput 参数 是否必选 参数类型 描述 type 是 String 任务的输入类型。可选类型为url(指定的文件地址) data 是 Array of TaskInputData objects 任务的输入详情。针对不同的输入类型有不同的配置。 高清图像抠图服务目前只支持识别PNG、JPEG、BMP、JPG格式的图片,只支持单张图片的url输入方式,图像各边的像素大小在1px至10000px之间,URL提供的图片大小不超过20MB。 表5 TaskInputData 参数 是否必选 参数类型 描述 url 否 String url输入源的地址,当输入为url类型时必填。 长度不超过1000。输入的图片大小不能大于20M,长边不能大于10000px。 key 否 String 数据标识。 多输入场景下必选,值由算法定义。 单输入场景非必选。 表6 TaskOutput 参数 是否必选 参数类型 描述 obs 是 TaskOutputObs object 任务运行结果输出的OBS配置参数。 表7 TaskOutputObs 参数 是否必选 参数类型 描述 bucket 是 String 任务运行结果输出的OBS桶名。 path 是 String 任务运行结果输出的OBS路径。 表8 TaskCallback 参数 是否必选 参数类型 描述 url 否 String 回调url地址,用于通知客户任务运行结束。 表9 ImageHighresolutionMattingConfig 参数 是否必选 参数类型 描述 common 是 ImageHighresolutionMattingConfigCommon object 任务运行的公共配置参数。 表10 ImageHighresolutionMattingConfigCommon 参数 是否必选 参数类型 描述 inference 是 ImageHighresolutionMattingInference object 任务运行时的推理配置参数。 表11 ImageHighresolutionMattingInference 参数 是否必选 参数类型 描述 return_type 是 String 是否只返回处理结果的alpha通道。 foreground:代表返回带alpha通道的前景图片。 alpha:代表仅返回alpha通道。 coord 否 Array of integers 指定抠图区域坐标,默认全图。示例:[x_min,y_min,x_max,y_max]
  • 响应参数 状态码: 200 表12 响应Header参数 参数 参数类型 描述 X-request-id String 任务跟踪的请求ID号。 表13 响应Body参数 参数 参数类型 描述 task_id String 任务唯一标识。 最小长度:1 最大长度:100 状态码: 400 表14 响应Header参数 参数 参数类型 描述 X-request-id String 任务跟踪的请求ID号。 表15 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 响应示例 状态码: 200 成功响应结果 { "output" : { "obs" : { "bucket" : "xxxxxx", "path" : "xxx/" } }, "input" : { "data" : [ { "bucket" : "xxxxxx", "path" : "xxx/test.mp4" } ], "type" : "obs" }, "config" : { "common" : { "inference" : { "video_title" : " ", "language" : "zh", "use_celebrity" : "true", "use_landmark" : "true", "use_logo" : "true", "use_ocr" : "true", "use_sis" : "true", "use_tagging" : "true" } } }, "task_id" : "01678982400_bb3e26a79d2e4eb6ad2532a74116fcf4", "create_time" : "2023-03-17T02:12:15Z", "update_time" : "2023-03-17T02:12:25Z", "state" : "SUCCEEDED"} 状态码: 400 失败响应结果 { "error_code" : "AIP.0004", "error_msg" : "The service does not exist."}
  • 响应参数 状态码: 200 表2 响应Header参数 参数 参数类型 描述 X-request-id String 任务跟踪的请求ID号。 表3 响应Body参数 参数 参数类型 描述 task_id String 任务id。 create_time String 任务创建时间,格式为ISO8601:YYYY-MM-DDThh:mm:ssZ update_time String 任务更新时间,格式为ISO8601:YYYY-MM-DDThh:mm:ssZ state String 任务当前的状态,分别为SUCCEEDED(运行成功),FAILED(运行失败),RUNNING(运行中)。 input VideoTaggingMediaTaskInput object 任务运行数据的输入配置参数。 output TaskOutput object 任务运行结果的输出配置参数。 config VideoTaggingTaskConfig object 任务运行的配置参数。 callback TaskCallback object 任务运行结束时的回调配置参数。 表4 VideoTaggingMediaTaskInput 参数 参数类型 描述 type String 任务的输入类型。可选类型有 obs(对象存储服务存储的文件) url(指定的文件地址)。 data Array of VideoTaggingMediaTaskInputData objects 任务的输入详情。针对不同的输入类型有不同的配置。 表5 VideoTaggingMediaTaskInputData 参数 参数类型 描述 bucket String OBS桶名,当输入为obs类型时必填。 path String OBS的路径,当输入为obs类型时必填。 url String url输入源的地址,当输入为url类型时必填。 长度不超过1000。必须为公网可匿名访问的HTTP/HTTPS URL。 key String 数据标识。 多输入场景下必选,值由算法定义。 单输入场景非必选。 表6 TaskOutput 参数 参数类型 描述 obs TaskOutputObs object 任务运行结果输出的OBS配置参数。 表7 TaskOutputObs 参数 参数类型 描述 bucket String 任务运行结果输出的OBS桶名。 path String 任务运行结果输出的OBS路径。 表8 VideoTaggingTaskConfig 参数 参数类型 描述 common VideoTaggingTaskConfigCommon object 任务运行的公共配置参数。 表9 VideoTaggingTaskConfigCommon 参数 参数类型 描述 inference VideoTagginginference object 任务运行时的推理配置参数。 表10 VideoTagginginference 参数 参数类型 描述 video_title String 视频标题。 language String 标签语种,取值为:“zh”表示中文,或者“en”表示英文。 use_celebrity String 名人识别使用开关,取值为:“true”或者“false”默认值为“true”。 use_landmark String 地标识别使用开关,取值为:“true”或者“false”默认值为“true”。 use_logo String LOGO识别使用开关,取值为:“true”或者“false”默认值为“true”。 use_ocr String OCR识别使用开关,取值为:“true”或者“false”默认值为“true”。 use_sis String 视频语音识别开关,取值为:“true”或者“false”默认值为“true”。 use_tagging String 图像标签识别开关,取值为:“true”或者“false”默认值为“true”。 表11 TaskCallback 参数 参数类型 描述 url String 回调url地址,用于通知客户任务运行结束。 状态码: 400 表12 响应Header参数 参数 参数类型 描述 X-request-id String 任务跟踪的请求ID号。 表13 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 响应消息 图片为BASE64字符串响应参数请参见表2。 表2 响应参数说明 名称 类型 说明 result String 调用成功时表示图片文件BASE64字符串。 调用失败时无此字段。 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。 图片为文件类型响应参数说明请参见表3。 表3 响应参数说明 名称 类型 说明 error_code String 调用失败时的错误码,具体请参考错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 请求消息 请求参数请参见表1。 表1 请求参数说明 名称 是否必选 类型 说明 image 与file二选一 String 图片文件BASE64编码字符串。要求base64编码后大小不超过10MB,支持JPEG/PNG/BMP格式。 file 与image二选一 File 图片文件。 scale 否 Integer 放大倍数,默认为3,取值范围:3或4。 model 否 String 图像超分辨率重建采用的算法模式,支持ESPCN和SRCNN,默认ESPCN。 取值为: “ESPCN”:Efficient Sub-Pixel Convolutional Neural Network。 “SRCNN”: Super-Resolution Convolutional Neural Network。
  • 示例 请求示例(方式一:使用图片的BASE64编码) POST https://image.cn-north-1.myhuaweicloud.com/v1.0/vision/super-resolution Request Header: Content-Type:application/jsonX-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body:{ "image":"/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAcAAAAcgEyAAIAAAAUAAAAjodpAAQAAAABAAAApAAAANAACvyAAAAnEAAK/IAAACcQQWRvYmUgUGhvdG9zaG9wIENTMyBXaW5kb3dzADIwMTc6MTA6MjAgMTA6NDU6MzYAAAAAA6ABAAMAAAAB//8AAKACAAQAAAABAAALIKADAAQAAAABAAAGQAAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEAAgAAAgEABAAAAAEAAAEuAgIABAAAAAEAABAj...", "scale":3, "model":"ESPCN"} 请求示例(方式二:使用图片文件) POST https://image.cn-north-1.myhuaweicloud.com/v1.0/vision/super-resolution Request Header: X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body(form-data):file:File(图片文件)scale:3model:ESPCN 方式一:图片为BASE64字符串。 成功响应示例 { "result":"/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAAagEoAAMAAAABAAIAAAExAAIAAAAcAAAAcgEyAAIAAAAUAAAAjodpAAQAAAABAAAApAAAANAACvyAAAAnEAAK/IAAACcQQWRvYmUgUGhvdG9zaG9wIENTMyBXaW5kb3dzADIwMTc6MTA6MjAgMTA6NDU6MzYAAAAAA6ABAAMAAAAB//8AAKACAAQAAAABAAALIKADAAQAAAABAAAGQAAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAEeARsABQAAAAEAAAEmASgAAwAAAAEAAgAAAgEABAAAAAEAAAEuAgIABAAAAAEAABAj..."} 失败响应示例 { "error_code": "AIS.0105", "error_msg": "Recognize Failed"} 方式二:图片文件类型。 成功响应示例 成功时返回图片文件字节流。 失败响应示例 { "error_code": "AIS.0105", "error_msg": "Recognize Failed"}
  • 响应示例 状态码: 200 成功响应结果 { "output" : { "obs" : { "bucket" : "xxxxxx", "path" : "xxxxxx/" } }, "input" : { "data" : [ { "url" : "https://xxxxxx/test.jpg" } ], "type" : "url" }, "config" : { "common" : { "inference" : { "return_type" : "foreground", "coord" : [ 100, 100, 500, 500 ] } } }, "callback" : { "url" : "http://xxxxxxx/callback" }, "task_id" : "01678464000_24b47a883d8b4c3cae9b54413302e504", "create_time" : "2023-03-11T07:34:17Z", "update_time" : "2023-03-11T07:34:19Z", "state" : "SUCCEEDED"}
  • 响应参数 状态码: 200 表2 响应Header参数 参数 参数类型 描述 X-request-id String 任务跟踪的请求ID号。格式为request_uuid-时间戳-主机名。 表3 响应Body参数 参数 参数类型 描述 task_id String 任务id。 最小长度:1 最大长度:100 create_time String 任务创建时间,格式为ISO8601:YYYY-MM-DDThh:mm:ssZ 最小长度:1 最大长度:100 update_time String 任务更新时间,格式为ISO8601:YYYY-MM-DDThh:mm:ssZ 最小长度:1 最大长度:100 state String 任务当前的状态,一共有三种分别为: SUCCEEDED(运行成功) FAILED(运行失败) RUNNING(运行中) input TaskInput Object 任务运行数据的输入配置参数。 output TaskOutput Object 任务运行结果的输出配置参数。 config ImageHighresolutionMattingConfig Object 任务运行的配置参数。 callback TaskCallback Object 任务运行结束时的回调通知。 表4 TaskInput 参数 参数类型 描述 type String 任务的输入类型,类型为url(指定的文件地址)。 最小长度:1 最大长度:100 data Array of TaskInputData Objects 任务的输入详情。针对不同的输入类型有不同的配置。 高清图像抠图服务目前只支持识别PNG、JPEG、BMP、JPG格式的图片,只支持单张图片的url输入方式,图像各边的像素大小在1px至10000px之间,URL提供的图片大小不超过20MB。 表5 TaskInputData 参数 参数类型 描述 url String url输入源的地址,当输入为url类型时必填。 长度不超过1000。输入的图片大小不能大于20M,长边不能大于10000px。 key String 数据标识。 多输入场景下必选,值由算法定义。 单输入场景非必选。 表6 TaskOutput 参数 参数类型 描述 obs TaskOutputObs object 任务运行结果输出的OBS配置参数。 表7 TaskOutputObs 参数 参数类型 描述 bucket String 任务输出运行结果的OBS桶名。 path String 任务输出运行结果的OBS桶路径。 表8 ImageHighresolutionMattingConfig 参数 参数类型 描述 common ImageHighresolutionMattingConfigCommon object 任务运行的公共配置参数。 表9 ImageHighresolutionMattingConfigCommon 参数 参数类型 描述 inference ImageHighresolutionMattingInference object 任务运行时的推理配置参数。 表10 ImageHighresolutionMattingInference 参数 参数类型 描述 return_type String 是否只返回处理结果的alpha通道。 foreground:代表返回带alpha通道的前景图片。 alpha:代表仅返回alpha通道。 coord Array of integers 指定抠图区域坐标,默认全图,示例:[x_min,y_min,x_max,y_max] 表11 TaskCallback 参数 参数类型 描述 url String 回调url地址,用于通知客户任务运行结束。 状态码: 400 表12 响应Header参数 参数 参数类型 描述 X-request-id String 任务跟踪的请求ID号。格式为request_uuid-时间戳-主机名。 表13 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的“endpoint”不同,具体请参见终端节点。 例如,服务部署在“华北-北京四”区域的“endpoint”为“image.cn-north-4.myhuaweicloud.com”,请求URL为“https://image.cn-north-4.myhuaweicloud.com/v2/{project_id}}/image/media-tagging-det”,“project_id”为项目ID,获取方法请参见获取项目ID和名称。 方式一:使用图片的BASE64编码,对于用户传入的图像中物体的坐标位置、物体名称、所属类别及置信度信息,返回标签的语言类型为中文,最多返回的标签数为5。 POST https://{endpoint}/v2/{project_id}/image/media-tagging-det{ "image" : "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAA...", "url" : "", "language" : "zh", "limit" : 10, "threshold" : 30} 方式二:使用图片URL,对于用户传入的图像中物体的坐标位置、物体名称、所属类别及置信度信息,返回标签的语言类型为中文,最多返回的标签数为5。 POST https://{endpoint}/v2/{project_id}/image/media-tagging-det{ "image" : "", "url" : "https://BucketName.obs.myhuaweicloud.com/ObjectName", "language" : "en", "limit" : 5, "threshold" : 40}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 result result object 调用成功时为图像标签内容。 调用失败时无此字段。 表5 result 参数 参数类型 描述 tags Array of ImageMediaTaggingDetItemBody objects 标签列表集合。 表6 ImageMediaTaggingDetItemBody 参数 参数类型 描述 confidence String 置信度,将Float型置信度转为String类型返回,取值范围:0-100。 type String 标签的类别。返回的标签类型,包含二十种大类,具体可以参考图像标签。 tag String 标签名称。 i18n_tag i18n_tag object 标签的多种语言输出。 instances Array of ImageMediaTaggingDetInstance objects 目标检测框信息,为空则表示没有目标检测框。 表7 i18n_tag 参数 参数类型 描述 zh String 中文标签。 en String 英文标签。 表8 ImageMediaTaggingDetInstance 参数 参数类型 描述 bounding_box BoundingBox Object 目标检测框位置信息。 confidence String 检测标签的置信度,将Float型置信度转为String类型返回,Float取值范围(0~100)。 表9 BoundingBox 参数 参数类型 描述 width Integer 检测框区域宽度。 height Integer 检测框区域高度。 top_left_x Integer 检测框左上角到垂直轴距离。 top_left_y Integer 检测框左上角到水平轴距离。 状态码: 400 表10 响应Body参数 参数 参数类型 描述 error_code String 调用失败时的错误码,具体请参见错误码。 调用成功时无此字段。 error_msg String 调用失败时的错误信息。 调用成功时无此字段。
  • 响应示例 状态码: 200 成功响应结果 { "result" : { "tags" : [ { "confidence" : "75.74", "instances" : [ { "confidence" : "75.74", "bounding_box" : { "height" : 453, "top_left_x" : 513, "top_left_y" : 764, "width" : 123 } } ], "i18n_tag" : { "en" : "tie", "zh" : "领带" }, "tag" : "领带", "type" : "服饰穿戴类" } ] }} 状态码: 400 失败响应结果 { "error_code" : "AIS.0005", "error_msg" : "The service does not exist."}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见获取Token接口,响应消息头中X-Subject-Token的值即为Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 image 否 String 与url二选一。 图像数据,base64编码,要求base64编码后大小不超过10M,最短边至少1px,最长边最大10000px,支持JPEG/PNG/BMP/WEBP格式。 url 否 String 与image二选一。 图片的URL路径,目前支持: 公网HTTP/HTTPS URL OBS提供的URL,使用OBS数据需要进行授权。包括对服务授权、临时授权、匿名公开授权。详情参见配置OBS服务的访问权限。 说明: 接口响应时间依赖于图片的下载时间,如果图片下载时间过长,会返回接口调用失败。 请保证被检测图片所在的存储服务稳定可靠,推荐使用OBS服务存储图片数据。 lmage不支持跨区域OBS,OBS的区域需要和服务保持一致。 language 否 String zh:返回标签的语言类型为中文。 en:返回标签的语言类型为英文。 默认值为zh。 threshold 否 Float 置信度的阈值(0~100),默认值为20,最大值为100,最小值为0。 limit 否 Integer 最多返回的标签数(最多50个,最少为1个),默认值为10。
  • 概述 图像识别(Image Recognition),是指利用计算机对图像进行分析和理解,以识别各种不同模式的目标和对象的技术,包括媒资图像标签,视频标签,图像高清抠图,图像描述,名人识别,主体识别,翻拍识别,图像超分,图像标签等。 图像识别以开放API(Application Programming Interface,应用程序编程接口)的方式提供给用户,用户通过实时访问和调用API获取推理结果,帮助用户自动采集关键数据,打造智能化业务系统,提升业务效率。 您可以使用本文档提供的图像识别服务API的描述、语法、参数说明及样例等内容,进行相关操作,支持的全部操作请参见API概览。 在调用图像识别API之前,请确保已经充分了解图像识别相关概念,详细信息请参见产品介绍。 同时图像识别还提供多种编程语言的SDK供您使用,SDK的使用方法请参见图像识别SDK。 父主题: 使用前必读
  • 响应消息头 对应请求消息头,响应同样也有消息头,如“Content-type”。 表1 响应消息头 名称 描述 Content-Length 响应消息体的字节长度,单位为Byte。 Date 系统响应的时间。 Content-Type 响应消息体的MIME类型。 对于获取用户Token接口,返回如图1所示的消息头,其中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。 图1 获取用户Token响应消息头
  • 响应消息体 响应消息体通常以结构化格式(如JSON或XML)返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "cn-north-1", ...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "The format of message is error", "error_code": "AS.0001" } 其中,“error_code”表示错误码,“error_msg”表示错误描述信息。
  • 状态码 状态码如表1所示。 表1 状态码 状态码 编码 错误码说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。例如,切换到HTTPS的新版本协议。 200 OK 服务器已成功处理了请求。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 No Content 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址。 使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 Bad Request 非法请求。 建议直接修改该请求,不要重试该请求 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 Not Found 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 Method Not Allowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Timeout 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request URI Too Long 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested Range Not Satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 Unprocessable Entity 请求格式正确,但是由于含有语义错误,无法响应。 429 Too Many Requests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 Internal Server Error 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 Service Unavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 Gateway Timeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version Not Supported 服务器不支持请求的HTTPS协议的版本,无法完成处理。 父主题: 附录
  • API概览 图像识别服务所提供的API为自研API。通过使用图像识别服务的自研API,您可以完整的使用图像识别服务的如表1所示功能。 表1 接口说明 API 说明 媒资图像标签(分类)-标签识别 标签识别服务使用时,用户发送待处理图片,返回图像标签内容及相应置信度。 媒资图像标签(检测) 对用户传入的图像可以返回图像中物体的坐标位置、物体名称、所属类别及置信度信息。 创建视频标签任务 输入一段视频,通过AI模型分析视频中的信息,输出视频所包含的媒资标签、名人标签、logo标签、语音标签、OCR标签等信息。 查询视频标签任务 查询视频脱敏任务详情,返回的参数配置以及任务状态信息。 图像描述 图像描述服务可以对用户输入图像进行画面描述。 名人识别 名人识别服务能分析并识别图片中包含的明星及网红人物,返回人物信息及人脸坐标。 主体识别 主体识别服务对用户传入的图片能通过后台算法判断图片主体,并返回主体坐标。 翻拍识别 目前仅支持部分条形码的翻拍识别,可以检测出经过二次处理的不合规范图片,使得统计数据更准确、有效。 图像超分 放大用户输入图像的分辨率,同时保留提升图像的纹理细节,产出高分辨率的图像数据。 图像标签(V2) 图像标签服务准确识别自然图片中数百种场景、上千种通用物体及其属性,让智能相册管理、照片检索和分类、基于场景内容或者物体的广告推荐等功能更加直观。
  • Python3语言API示例 本示例以图像标签为例介绍如何使用Python3调用API。 # encoding:utf-8import requestsimport base64url = "https://{endpoint}/v2/{project_id}/image/tagging"token = "用户获取得到的实际token值"headers = {'Content-Type': 'application/json', 'X-Auth-Token': token}imagepath = r'data/image-tagging.jpg'with open(imagepath, "rb") as bin_data: image_data = bin_data.read()image_base64 = base64.b64encode(image_data).decode("utf-8") # 使用图片的base64编码data= {"image": image_base64} # url与image参数二选一response = requests.post(url, headers=headers, json=data, verify=False)print(response.text) 表1 参数说明 参数 参数说明 url API请求URL,例如本示例中https://{endpoint}/v2/{project_id}/image/tagging。 token Token是用户的访问令牌,承载了用户的身份、权限等信息,用户调用API接口时,需要使用Token进行鉴权。 获取Token方法请参见认证鉴权。 imagePath 图片路径。支持图片文件路径或图片url路径。其中,图片的url路径支持公网http/https url或OBS提供的url。 父主题: 应用示例
  • 请求示例 “endpoint”即调用API的请求地址,不同服务不同区域的“endpoint”不同,具体请参见终端节点。 例如,服务部署在“华北-北京四”区域的“endpoint”为“image.cn-north-4.myhuaweicloud.com”,请求URL为“https://image.cn-north-4.myhuaweicloud.com/v2/{project_id}/image/video-tagging-media/tasks”,“project_id”为项目ID,获取方法请参见获取项目ID和名称。 输出视频中所包含的标签信息,任务运行结果输出的OBS桶名为xxxxx,名人识别、地标识别、LOGO识别、OCR识别、视频语音、图像标签开关处于开启状态。
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 input 是 VideoTaggingMediaTaskInput object 任务运行数据的输入配置参数。 output 是 TaskOutput object 任务运行结果的输出配置参数。 callback 否 TaskCallback object 任务运行结束时回调通知。 config 否 VideoTaggingTaskConfig object 任务运行的配置参数。 表3 VideoTaggingMediaTaskInput 参数 是否必选 参数类型 描述 type 是 String 任务的输入类型。可选类型有obs(对象存储服务存储的文件),url(指定的文件地址)。 最小长度:1 最大长度:100 data 是 Array of VideoTaggingMediaTaskInputData objects 任务的输入详情。针对不同的输入类型有不同的配置。 表4 VideoTaggingMediaTaskInputData 参数 是否必选 参数类型 描述 bucket 否 String 用户数据所在的OBS桶名,当输入为obs类型时必填。 最小长度:1 最大长度:100 path 否 String 用户数据所在的OBS路径,当输入为obs类型时必填。 最小长度:1 最大长度:100 url 否 String url输入源的地址,当输入为url类型时必填,必须为公网可匿名访问的HTTP/HTTPS URL。长度不超过1000。 最小长度:1 最大长度:1000 key 否 String 数据标识。多输入场景下必选,值由算法定义;单输入场景非必选。 最小长度:1 最大长度:100 表5 TaskOutput 参数 是否必选 参数类型 描述 obs 是 TaskOutputObs object 任务运行结果输出的OBS配置参数。 表6 TaskOutputObs 参数 是否必选 参数类型 描述 bucket 是 String 任务运行结果输出的OBS桶名。 最小长度:1 最大长度:100 path 是 String 任务运行结果输出的OBS路径。 最小长度:1 最大长度:100 表7 TaskCallback 参数 是否必选 参数类型 描述 url 否 String 回调url地址,用于通知用户任务运行结束。 最小长度:1 最大长度:1000 表8 VideoTaggingTaskConfig 参数 是否必选 参数类型 描述 common 否 VideoTaggingTaskConfigCommon object 任务运行的公共配置参数。 表9 VideoTaggingTaskConfigCommon 参数 是否必选 参数类型 描述 inference 是 VideoTagginginference object 任务运行时的推理配置参数。 表10 VideoTagginginference 参数 是否必选 参数类型 描述 video_title 否 String 视频标题。 language 否 String 标签语种,取值为:“zh”表示中文,或者“en”表示英文。 use_celebrity 否 String 名人识别使用开关,取值为“true”或者“false”。 use_landmark 否 String 地标识别使用开关,取值为“true”或者“false”。 use_logo 否 String LOGO识别使用开关,取值为“true”或者“false”。 use_ocr 否 String OCR识别使用开关,取值为“true”或者“false”。 use_sis 否 String 视频语音识别开关,取值为“true”或者“false”。 use_tagging 否 String 图像标签识别开关,取值为“true”或者“false”。
  • 请求方法 HTTP请求方法(也称为操作或动词),可以向服务表明您正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。 当资源不存在的时候,PATCH可能会去创建一个新的资源。 例如,在获取用户Token的URI部分,您可以看到其请求方法为“POST”,则其请求为: POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens
  • 请求消息体 请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 例如,对于获取用户Token接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示,加粗的斜体字段需要根据实际值填写,其中username为用户名,domainname为用户所属的账号名称,********为用户登录密码,xxxxx为project的name,获取方法请参见获取用户名、账号名和项目name。 scope参数定义了Token的作用域,上面示例中获取的Token仅能访问project下的资源。您还可以设置Token的作用域为某个账号下所有资源或账号的某个project下的资源,详细定义请参见获取用户Token。 POST https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxx" } } } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 表3 公共请求消息头 名称 描述 是否必选 示例 X-Sdk-Date 请求的发生时间,格式(YYYYMMDD'T'HHMMSS'Z')。 取值为当前系统的GMT时间。 否 使用AK/SK认证时必选。 20150907T101459Z Authorization 签名认证信息。 该值来源于请求签名结果。 否 使用AK/SK认证时必选。 SDK-HMAC-SHA256 Credential=ZIRRKMTWPTQFQI1WKNKB/20150907//ec2/sdk_request, SignedHeaders=content-type;host;x-sdk-date, Signature=55741b610f3c9fa3ae40b5a8021ebf7ebc2a28a603fc62d25cb3bfe6608e1994 Host 请求的服务器信息,从服务API的URL中获取。值为hostname[:port]。 端口缺省时使用默认的端口,https的默认端口为443。 否 使用AK/SK认证时必选。 code.test.com or code.test.com:443 Content-Type 发送的实体的MIME类型。 是 application/json Content-Length 请求body长度,单位为Byte。 POST/PUT请求必填。 GET不能包含。 3495 X-Project-Id project id,用于不同project取token。 如果是DeC的请求或者多project的请求则必须传入project id。 否 e9993fc787d94b6c886cbaa340f9c0f4 X-Auth-Token 用户Token。 否 使用Token认证时必选。 - 公有云API同时支持使用AK/SK认证,AK/SK认证是使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见API签名指南。 其它header属性,请遵照https协议。
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 表1 URI中的参数说明 参数 描述 URI-scheme 表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint 指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从终端节点中获取。 例如IAM服务在“华北-北京一”区域的Endpoint为“iam.cn-north-1.myhuaweicloud.com”。 resource-path 资源路径,也即API访问路径。 从具体API的URI模块获取,例如“获取用户Token”API的resource-path为“/v3/auth/tokens”。 Query string 查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如,您需要获取IAM在“华北-北京一”区域的Token,则需使用“华北-北京一”区域的Endpoint(iam.cn-north-1.myhuaweicloud.com),并在获取用户Token的URI部分找到resource-path(/v3/auth/tokens),拼接起来如下所示。 https://iam.cn-north-1.myhuaweicloud.com/v3/auth/tokens 图1 URI示意图 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
共100000条