• 沒有找到結果。

状态码

状态码 描述

200 成功响应。

400 失败响应。

状态码请参见状态码。

错误码

错误码请参见错误码。

4.3 网络图片识别

功能介绍

识别网络图片中的文字内容,并以json格式返回识别的结构化结果。该接口的使用限 制请参见约束与限制,详细使用指导请参见OCR服务使用简介章节。

对于相同板式的图片,可以使用ModelArts Pro服务提供的文字识别套件,零代码搭建 出专属的API,详细操作请参见视频指导。

4-3 网络图片识别示例图

调试

您可以在API Explorer中调试该接口。

前提条件

在使用网络图片识别之前,需要您完成服务申请和认证鉴权,具体操作流程请参见开

通服务和认证鉴权章节。

说明

用户首次使用需要先申请开通。服务只需要开通一次即可,后面使用时无需再次申请。如未开通 服务,调用服务时会提示ModelArts.4204报错,请在调用服务前先进入控制台开通服务,并注 意开通服务区域与调用服务的区域保持一致。

URI

POST https://{endpoint}/v2/{project_id}/ocr/web-image

4-17 路径参数

参数 是否必选 说明

endpoint 是 指定承载REST服务端点的服务器域名或IP,不同 服务不同区域的endpoint不同,您可以从终端节

点中获取。

例如,OCR服务在“华北-北京四”区域的

“endpoint”为“ocr.cn-north-4.myhuaweicloud.com”。

project_id 是 项目ID,您可以从获取项目ID中获取。

请求参数

4-18 请求 Header 参数

参数 是否必选 参数类型 描述

X-Auth-Token 是 String 用户Token。

用于获取操作API的权限。获取 Token接口响应消息头中X-Subject-Token的值即为Token。

Content-Type 是 String 发送的实体的MIME类型,参数 值为“application/json”。

4-19 请求 Body 参数

参数 是否必选 参数类

说明

image 否 String 该参数与url二选一。图像数据,base64编 码,要求base64编码后大小不超过10MB。

图片最小边不小于15px,最长边不超过 8192px,支持JPEG、JPG、PNG、BMP、

TIFF、GIF、WEBP格式。

参数 是否必选 参数类 型

说明

url 否 String 该参数与image二选一。图片的url路径,目 前支持:

● 公网http/https url

● OBS提供的url,使用OBS数据需要进行授 权。包括对服务授权、临时授权、匿名公 开授权,详情参见配置OBS访问权限。

说明

● 接口响应时间依赖于图片的下载时间,如果图 片下载时间过长,会返回接口调用失败。

● 请保证被检测图片所在的存储服务稳定可靠,

推荐使用OBS服务存储图片数据。

detect_dir

ection 否 Boolean 校正图片的倾斜角度开关,可选值如下所 示。

● true:校正图片的倾斜角度

● false:不校正图片的倾斜角度

支持任意角度的校正,未传入该参数时默认 为“false”。

extract_ty

pe 否 Array of

strings 结构化数据提取参数列表,目前只支持联系 人信息、图像宽高,其入参值分别为

“contact_info”,“image_size”。

若不填写该参数或删除该参数,默认不提取 该参数值。

响应参数

说明

根据识别的结果,可能有不同的HTTP响应状态码(status code)。例如,200表示API调用成 功,400表示调用失败,详细的状态码和响应参数说明如下。

状态码: 200

4-20 响应 Body 参数

参数 参数类型 描述

result WebImage Result object

调用成功时表示调用结果。

调用失败时无此字段。

4-21 WebImageResult

参数 参数类型 描述

words_block_cou

nt Integer 代表检测识别出来的文字块数目。

words_block_list Array of WebImage WordsBloc kList objects

识别文字块列表,输出顺序从左到右,从上到 下。

4-22 WebImageWordsBlockList

参数 参数类型 描述

words String 文字块识别结果。

confidence Float 相关字段的置信度信息,取值范围0~1。

置信度越大,表示本次识别的对应字段的可靠性 越高,在统计意义上,置信度越大,准确率越 高。

置信度由算法给出,不直接等价于对应字段的准 确率。

location Array of

integers 识别到的文字块的区域位置信息,列表形式,分 别表示文字块4个顶点的(x,y)坐标;采用图像 坐标系,图像坐标原点为图像左上角,x轴沿水 平方向,y轴沿竖直方向。

extracted_data Object 结构化数据提取参数列表,目前仅支持联系人、

图像宽高信息提取,其对应入参值为

“contact_info”、“image_size”。

若入参“extract_type”为空列表或该字段缺失 时,不进行提取,此字段为空。

contact_info Object 该字段表示提取的联系人信息,包括:姓名、联 系电话、省市区以及详细地址。

若入参“extract_type”列表中无该字段,则此 字段不存在。

image_size Object 该字段表示返回图片宽高信息。

如入参“extract_type”列表中无该字段,则此 字段不存在。

height Integer 传入“image_size”时的返回,为图像高度。

width Integer 传入“image_size”时的返回,为图像宽度。

name String 传入“contact_info”时的返回,为姓名。

phone String 传入“contact_info”时的返回,联系电话。

参数 参数类型 描述

province String 传入“contact_info”时的返回,省。

city String 传入“contact_info”时的返回,市。

district String 传入“contact_info”时的返回,县区。

detail_address String 传入“contact_info”时的返回,详细地址(不 含省市区)。

状态码: 400

4-23 响应 Body 参数

参数 参数类型 说明

error_code String 调用失败时的错误码,具体请参见错误码。

当出现错误码“ModelArts.4204”时,请参考为

什么调用API时提示“ModelArts.4204”?章

节。

调用成功时无此字段。

error_msg String 调用失败时的错误信息。

请求示例

说明

● “endpoint”即调用API的请求地址,不同服务不同区域的“endpoint”不同,具体请参见 终端节点。

例如,网络图片识别服务部署在“华南-广州”区域的“endpoint”为“ocr.cn-

south-1.myhuaweicloud.com”,请求URL为“https://ocr.cn-south-1.myhuaweicloud.com/v2/{project_id}/ocr/web-image”,“project_id”为项目 ID,获取方法请参见获取项目ID。

● 如何获取Token具体操作请参见构造请求。

● 请求示例(方式一:使用图片的base64编码)

POST https://{endpoint}/v2/{project_id}/ocr/web-image Request Header:

Content-Type: application/json X-Auth-Token:

MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...

Request Body:

{ "image":"/9j/4AAQSkZJRgABAgEASABIAAD/..."

}

● 请求示例(方式二:使用图片URL)

POST https://{endpoint}/v2/{project_id}/ocr/web-image Request Header:

Content-Type: application/json X-Auth-Token:

MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...

Request Body:

{ "url":"https://BucketName.obs.xxxx.com/ObjectName"

}

● Python3语言请求代码示例(其他语言参照下列示例编写或使用OCR SDK)

# encoding:utf-8 import requests import base64

url = "https://{endpoint}/v2/{project_id}/ocr/web-image"

token = "用户获取得到的实际token值"

headers = {'Content-Type': 'application/json', 'X-Auth-Token': token}

imagepath = r'./data/web-image-demo.png' with open(imagepath, "rb") as bin_data:

image_data = bin_data.read()

image_base64 = base64.b64encode(image_data).decode("utf-8") # 使用图片的base64编码 payload = {"image": image_base64} # url与image参数二选一

response = requests.post(url, headers=headers, json=payload) print(response.text)

{ "error_code": "AIS.0103",

"error_msg": "The image size does not meet the requirements."

}

状态码

状态码 描述

200 成功响应。

400 失败响应。

状态码请参见状态码。

错误码

错误码请参见错误码。