网络图片识别
调试
您可以在API Explorer中调试该接口。
URI
POST https://{endpoint}/v2/{project_id}/ocr/web-image
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。 Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限,响应消息头中X-Subject-Token的值即为Token。 |
Content-Type |
是 |
String |
发送的实体的MIME类型,参数值为“application/json”。 |
参数 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
image |
否,该参数与url二选一 |
String |
图像数据,base64编码,要求base64编码后大小不超过10MB。 图片最小边不小于15px,最长边不超过8192px,支持JPEG、JPG、PNG、BMP、TIFF、GIF、WEBP格式。 |
url |
否,该参数与image二选一 |
String |
图片的url路径,目前支持:
说明:
|
detect_direction |
否 |
Boolean |
校正图片的倾斜角度开关,可选值如下所示。
支持任意角度的校正,未传入该参数时默认为“false”。 |
extract_type |
否 |
Array of strings |
结构化数据提取参数列表,目前只支持联系人信息、图像宽高,其入参值分别为“contact_info”,“image_size”。 若不填写该参数或删除该参数,默认不提取该参数值。 |
响应参数
根据识别的结果,可能有不同的HTTP响应状态码(status code),状态码和响应参数说明如下。
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
result |
WebImageResult object |
调用成功时表示调用结果。 调用失败时无此字段。 |
参数 |
参数类型 |
描述 |
---|---|---|
words_block_count |
Integer |
代表检测识别出来的文字块数目。 |
words_block_list |
Array of WebImageWordsBlockList objects |
识别文字块列表,输出顺序从左到右,从上到下。 |
参数 |
参数类型 |
描述 |
---|---|---|
words |
String |
文字块识别结果。 |
confidence |
Number |
相关字段的置信度信息,取值范围0~1。 置信度越大,表示本次识别的对应字段的可靠性越高,在统计意义上,置信度越大,准确率越高。 置信度由算法给出,不直接等价于对应字段的准确率。 |
location |
Array of integers |
识别到的文字块的区域位置信息,列表形式,分别表示文字块4个顶点的(x,y)坐标;图像坐标原点为图像左上角,x轴沿水平方向,y轴沿竖直方向。 |
extracted_data |
Object |
提取出的结构化JSON结果,该字典内的key值与入参列表extract_type的值一致,目前仅支持联系人信息提取,亦即“key”值为“contact_info”的字段。 若入参“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
参数 |
参数类型 |
说明 |
---|---|---|
error_code |
String |
调用失败时的错误码,具体请参见错误码。 当出现错误码“ModelArts.4204”时,请参考为什么调用API时提示“ModelArts.4204”?章节。 调用成功时无此字段。 |
error_msg |
String |
调用失败时的错误信息。 |
请求示例

- 请求示例(方式一:使用图片的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)
响应示例
状态码:200
成功响应示例
{ "result": { "words_block_count": 2, "words_block_list": [ { "words": "文字块1", "confidence": 0.9950, "location": [ [13, 476], [91, 332], [125, 351], [48, 494] ] }, { "words": "文字块2", "confidence": 0.9910, "location": [ [13, 476], [91, 332], [125, 351], [48, 494] ] } ], "extracted_data": {} } }
状态码:400
失败响应示例
{ "error_code": "AIS.0103", "error_msg": "The image size does not meet the requirements." }
错误码
错误码请参见错误码。
