文档首页 > > API参考> API> 手写文字识别

手写文字识别

分享
更新时间: 2020/03/12 GMT+08:00

功能介绍

识别文档中的手写文字信息,并将识别的结构化结果返回给用户。

URI

URI格式:

POST /v1.0/ocr/handwriting

请求消息

手写文字识别请求参数说明请参见 表 请求参数说明
表1 请求参数说明

参数

是否必选

参数类型

说明

image

与url二选一

String

图像数据,base64编码,要求base64编码后大小不超过10MB。图片最小边不小于8像素,最长边不超过4096像素,支持JPEG/JPG/PNG/BMP/TIFF格式。

url

与image二选一

String

图片的URL路径,目前仅支持华为云上OBS提供的匿名公开授权访问的URL以及公网URL。

quick_mode

Boolean

快速模式开关,针对单行文字图片(要求图片只包含一行文字,且文字区域占比超过50%),打开时可以更快返回识别内容。可选值包括:

  • true:打开快速模式;
  • false:关闭快速模式。

未传入该参数时默认为false,即关闭快速模式。

char_set

String

字符集设置,用户可以根据实际需要限定输出字符集范围。可选值包括:

  • "digit":数字模式;
  • "letter":大小写字母模式;
  • "digit_letter":数字+字母模式;
  • "general":数字+字母+中文模式;

未传入该参数时,默认为“general”模式。

detect_direction

Boolean

为Boolean类型,若不传该字段,默认不检测图像倾斜角度文字方向,为True时,支持任意角度的旋转倾斜(建议在场景内有大量倾斜图片时才开启以减少性能损失)。

extract_type

String

结构化数据提取参数列表,目前只支持数学试卷结构化提取,其入参值为“math_info”,若该字段为空或缺省该字段,默认不提取。

响应消息

手写文字识别响应参数说明请参见 表2
表2 响应参数说明

参数

参数类型

说明

result

Object

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

调用失败时无此字段。

words_block_count

Integer

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

"segment_digit" 和"segment"默认为1

words_block_list

Array of objects

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

words

String

文字块识别结果。

type

String

说明该识别结果所属类型,例如:handwriting。

confidence

Float

文字块words的置信度。

location

Array of objects

文字块words的区域位置信息,列表形式,分别表示文字块顶点的x, y坐标;坐标原点为图片左上角,x轴沿水平方向,y轴沿竖直方向。

extracted_data

Object

提取出的结构化JSON结果,该字典内的key值与入参列表extract_type的值一致。

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

math_info

Object

返回数学试卷结构化提取的数据。由多个输出结果组成,每个输出结果包括三个部分:"question_number","answer_block_count": "answer_block_list"。

question_number

String

数学试卷返回结果,表示题号。

answer_block_count

Integer

数学试卷答案的文字块数目。

answer_block_list

Array of objects

数学试卷答案识别文字块列表,输出顺序从左到右,从上到下。

error_code

String

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

调用成功时无此字段。

error_msg

String

调用失败时的错误信息。

调用成功时无此字段。

示例

  • 请求示例(方式一:使用图片的BASE64编码)
    POST https://{endpoint}/v1.0/ocr/handwriting 
        
     Request Header:   
     Content-Type: application/json   
     X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...     
     Request Body:
     { 
        "image": "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAA...",
        "quick_mode": false,
        "char_set": "general",
        "detect_direction": false,
        "extract_type": "math_info"
      }
  • 请求示例(方式二:使用图片URL)
    POST https://{endpoint}/v1.0/ocr/handwriting 
        
     Request Header:   
     Content-Type: application/json   
     X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...      
     Request Body:
     {
         "url":"https://BucketName.obs.xxxx.com/ObjectName",
         "quick_mode ":false,
         "char_set": "general",
         "detect_direction": false,
         "extract_type": "math_info"
      }

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

例如手写字母数字识别服务部署在“华北-北京一”区域的Endpoint为“ocr.cn-north-1.myhuaweicloud.com”,请求URL为“https://ocr.cn-north-1.myhuaweicloud.com/v1.0/ocr/handwriting”。

  • 成功响应示例
    {
        "result": {
            "words_block_count": 2,
            "words_block_list": [
                {
                    "words": "大江东去",
                    "type": "handwriting",
                    "confidence": 0.98,
                    "location": [
                        [282, 45],
                        [461, 47],
                        [460, 77],
                        [280, 76]
                    ]
                },
                {
                    "words": "浪淘尽",
                    "type": "handwriting",
                    "confidence": 0.99,
                    "location": [
                        [949, 52],
                        [1095, 53],
                        [1100, 87],
                        [953, 86]
                    ]
                }
            ]
            "extracted_data": {
                "math_info":{
                    "question_number": "(1)",
                    "answer_block_count": 2,
                    "answer_block_list": [
                        {
                            "words": "明月几时有?",
                            "confidence":0.99,
                            "location": [
                                 [877, 236],
                                 [996, 239],
                                 [996, 262],
                                 [876, 259]
                            ]
                        },
                        {
                            "words": "把酒问青天",
                            "confidence": 0.96,
                            "location": [
                                 [877, 262],
                                 [1000, 265],
                                 [1000, 292],
                                 [877, 289]
                            ]
                        }
                    ]
                }
            }
        }
    }
  • 失败响应示例
    {
        "error_code": "AIS.0103",
        "error_msg": "The image size does not meet the requirements."
    }

状态码

状态码请参见状态码

分享:

    相关文档

    相关产品

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

提交成功!

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

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

*必选

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

字符长度不能超过200

提交反馈 取消

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

跳转到云社区