文档首页 > > API参考> API> 网络图片识别

网络图片识别

分享
更新时间:2020/09/11 GMT+08:00

功能介绍

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

前提条件

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

URL

POST https://{endpoint}/v1.0/ocr/web-image

表1 参数说明

参数

是否必选

说明

endpoint

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

例如,OCR服务在“华北-北京四”区域的“endpoint”“ocr.cn-north-4.myhuaweicloud.com”

请求消息

网络图片识别请求参数说明请参见表2
表2 请求参数

参数

是否必选

参数类型

说明

image

否,该参数与url二选一

String

图像数据,base64编码,要求base64编码后大小不超过10MB。

图片最小边不小于15px,最长边不超过8192px,支持JPEG、JPG、PNG、BMP、TIFF、GIF、WEBP格式。

url

否,该参数与image二选一

String

图片的url路径,目前支持:

  • 公网http/https url
  • OBS提供的url,使用OBS数据需要进行授权。包括对服务授权、临时授权、匿名公开授权,详情参见配置OBS访问权限
说明:
  • 接口响应时间依赖于图片的下载时间,如果图片下载时间过长,会返回接口调用失败。
  • 请保证被检测图片所在的存储服务稳定可靠,推荐使用OBS服务存储图片数据。

detect_direction

Boolean

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

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

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

extract_type

Array of strings

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

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

响应消息

网络图片识别响应参数说明请参见表3
表3 响应参数

参数

参数类型

说明

result

Object

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

调用失败时无此字段。

words_block_count

Integer

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

words_block_list

Array of objects

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

words

String

文字块识别结果。

location

Array of objects

文字块的区域位置信息,列表形式,分别表示文字块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”时的返回,详细地址(不含省市区)。

confidence

Float

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

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

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

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/v1.0/ocr/web-image”

  • 请求样例(方式一:使用图片的base64编码)
    POST https://{endpoint}/v1.0/ocr/web-image
     
    Request Header:
    Content-Type: application/json,
    X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...
    
    Request Body:  
    {  
        "image":"/9j/4AAQSkZJRgABAgEASABIAAD/..." 
    }
  • 请求样例(方式二:使用图片URL)
    POST https://{endpoint}/v1.0/ocr/web-image
        
    Request Header:   
    Content-Type: application/json   
    X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...       
    Request Body:
    {
         "url":"https://BucketName.obs.xxxx.com/ObjectName"
    }
  • Python语言请求代码示例(其他语言参照下列示例编写或使用OCR SDK)
    # encoding:utf-8
    
    import requests
    import base64
    
    url = "https://{endpoint}/v1.0/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)
  • 响应样例
    { 
      "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": {}
      } 
    }
  • 失败响应样例
    {
        "error_code": "AIS.0103", 
        "error_msg": "The image size does not meet the requirements." 
    }

状态码

状态码请参见状态码

错误码

错误码请参见错误码

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问