英文手写识别

简介

HI,您好,欢迎使用学而思网校AI开放平台OCR英文手写识别接口服务。

本文档主要针对需要集成HTTP API的技术研发工程师,详细描述OCR英文手写识别能力相关的技术内容。您可以通过快速接入安全接入使用此AI能力。

接口能力

接口名称 接口能力简要描述 api 地址
OCR英文手写识别 英文手写识别 http://openapiai.xueersi.com/v1/api/img/ocr/english_hw

适用范围

任意操作系统,任意编程语言,均可以通过http或https调用本接口。

图像发送方式

图像数据支持两种形式发送:

  • URL 
    • 网络上的图片 URL 地址
  • 图片数据
    • 请求图片需经过base64编码:图片的base64编码指将一副图片编码成字符串数据,便于网络传输请求。您可以首先得到图片的二进制,进行base64编码后,然后再进行urlencode(注意你所使用的网络工具或网络库有没有默认的urlencode功能,如果没有,需要你自己显式转化)。
    • 转码方式可参考base64示例
    • 注意: 图片的base64编码是不包含图片头的,如(data:image/jpg;base64,)

  • 图片大小
    • 不能大于4MB
    • 长边不能超过4096px
    • 短边不能小于15px

图像类型支持

图像数据支持以下原生类型:

  • jpg
  • jpeg
  • png
  • bmp

请求方式

HTTP 方法POST

请求 URLhttp://openapiai.xueersi.com/v1/api/img/ocr/english_hw

注意: Content-Type为application/x-www-form-urlencoded,然后通过urlencode格式化请求体。

Header 如下

参数名 赋值
Content-Type application/x-www-form-urlencoded

 

urlencode介绍

在请求 API 的 post 请求参数中含有图片url地址或base64字符。url地址 或 base64 字符作为参数传递时,需要把 中文 以及 '/' 做一下编码,防止解析中出现歧义,从而符合url的规范。

将中文 以及 '/'  转换为百分号编码形式,这就是 urlencode 格式化操作

部分语言的第三方包内部做了 urlencode 编码,不进行 urlencode 格式化也可以正常进行 API 请求,但    是进行 urlencode 格式化之后一定可以通过请求。所以我们推荐您对请求体中的参数进行 urlencode 操作

 

快速接入方式

请求参数详情

参数名 类型 是否必选 赋值说明 样例 备注
app_key string 应用标识 8102b22a5e81e840176d9f381ec6f837  
img string 图像数据 http://ai.xueersi.com/oralCorrection/images/KPI_180.jpg

图像 base64数据:示例数据较长,见附件base64.txt
图像base64字符串 / 图像URL
img_type string 图像形式 base64 / URL  

请求代码示例

HTTP 代码示例:

POST /v1/api/img/ocr/english_hw HTTP/1.1
Host: openapiai.xueersi.com
Content-Type: application/x-www-form-urlencoded
cache-control: no-cache
app_key=8102b22a5e81e840176d9f381ec6f837&img=http%3A%2F%2Fai.xueersi.com%2ForalCorrection%2Fimages%2FKPI_180.jpg&img_type=URL

cURL 代码示例:

curl -X POST \
  http://openapiai.xueersi.com/v1/api/img/ocr/english_hw \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'cache-control: no-cache' \
  -d 'app_key=8102b22a5e81e840176d9f381ec6f837&img=http%3A%2F%2Fai.xueersi.com%2ForalCorrection%2Fimages%2FKPI_180.jpg&img_type=URL'

安全接入方式

请求参数详情

参数名 类型 是否必选 赋值说明 样例 备注
app_key string 应用标识 8102b22a5e81e840176d9f381ec6f837  
time_stamp string 秒级时间戳 1493468759 安全接入必备,用于唯一地标识某一刻的时间
nonce_str string 随机字符串 dd599ef889859f9fe 安全接入必备
sign string 签名信息 99880aabb33f4def5c875875b6bdc3b1 安全接入必备
img string 图像数据 http://ai.xueersi.com/oralCorrection/images/KPI_180.jpg

图像 base64数据:示例数据较长,见附件base64.txt
图像base64字符串 / 图像URL
img_type string 图像形式 URL base64 / URL

请求代码示例

HTTP 代码示例:

POST /v1/api/img/ocr/english_hw HTTP/1.1
Host: openapiai.xueersi.com
Content-Type: application/x-www-form-urlencoded
cache-control: no-cache
app_key=8102b22a5e81e840176d9f381ec6f837&img=http%3A%2F%2Fai.xueersi.com%2ForalCorrection%2Fimages%2FKPI_180.jpg&img_type=URL&time_stamp=1551174536&nonce_str=W8FI8oCp&sign=7d15e530e58fcf3a020ec69b48d951010fa49322

cURL 代码示例:

curl -X POST \
  http://openapiai.xueersi.com/v1/api/img/ocr/english_hw \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'cache-control: no-cache' \
  -d 'app_key=8102b22a5e81e840176d9f381ec6f837&img=http%3A%2F%2Fai.xueersi.com%2ForalCorrection%2Fimages%2FKPI_180.jpg&img_type=URL&time_stamp=1551174536&nonce_str=W8FI8oCp&sign=7d15e530e58fcf3a020ec69b48d951010fa49322'

返回响应

返回格式

JSON格式

响应参数说明

参数名 类型 赋值说明 样例 备注
code int 返回码 0  
msg string 返回码解释 "请求成功"  
data obj 识别结果结构    
error [][]object 每个数组元素表示单行错误信息,行错误信息的每个元素是每个单词错误信息    
correct
string
纠错后的信息    
kind
string
错误类型    
num
int
错误单词是该行第几个单词    
origin
string
错误单词的识别结果    
pos int[] 该错误单词的位置信息,[x1,y1,x2,y2] 前两个元素表示起点坐标,后两个元素表示终点坐标    

响应代码示例

响应Body:

{
  "code": 0,
  "msg": "请求成功",
  "data": {
    "error": [
      [
        {
          "correct": "park",
          "kind": "caps",
          "num": 1,
          "origin": "Park",
          "pos": [
            198,
            196,
            211,
            196
          ]
        },
        {
          "correct": "school",
          "kind": "caps",
          "num": 2,
          "origin": "School",
          "pos": [
            211,
            196,
            297,
            196
          ]
        }
      ],
      [
        {
          "correct": "it",
          "kind": "caps",
          "num": 1,
          "origin": "It",
          "pos": [
            124,
            275,
            152,
            275
          ]
        }
      ],
      null,
      [
        {
          "correct": "beach",
          "kind": "caps",
          "num": 1,
          "origin": "Beach",
          "pos": [
            154,
            433,
            167,
            433
          ]
        },
        {
          "correct": "park",
          "kind": "caps",
          "num": 2,
          "origin": "Park",
          "pos": [
            167,
            433,
            276,
            433
          ]
        },
        {
          "correct": "school",
          "kind": "caps",
          "num": 3,
          "origin": "School",
          "pos": [
            276,
            433,
            290,
            433
          ]
        }
      ],
      null,
      [
        {
          "correct": "jack",
          "kind": "caps",
          "num": 6,
          "origin": "Jack",
          "pos": [
            467,
            603,
            471,
            603
          ]
        }
      ],
      null,
      null
    ],
    "pos": [
      [
        94,
        196,
        198,
        196,
        211,
        196,
        297,
        196,
        306,
        196,
        418,
        196,
        427,
        196,
        463,
        196,
        477,
        196,
        531,
        196,
        544,
        196,
        581,
        196,
        594,
        196,
        648,
        196,
        662,
        196,
        774,
        196,
        779,
        196,
        783,
        196,
        792,
        196,
        824,
        196,
        833,
        196,
        869,
        196,
        878,
        196,
        918,
        196,
        927,
        196,
        986,
        196,
        999,
        196,
        1044,
        196,
        1053,
        196,
        1058,
        196
      ],
      [
        64,
        275,
        124,
        275,
        152,
        275,
        184,
        275,
        198,
        275,
        226,
        275,
        240,
        275,
        258,
        275,
        272,
        275,
        624,
        275,
        638,
        275,
        712,
        275,
        726,
        275,
        804,
        275,
        818,
        275,
        874,
        275,
        887,
        275,
        966,
        275,
        975,
        275,
        980,
        275,
        1003,
        275,
        1040,
        275,
        1054,
        275,
        1091,
        275
      ],
      [
        65,
        351,
        208,
        351,
        221,
        351,
        356,
        351,
        364,
        351,
        409,
        351,
        421,
        351,
        466,
        351,
        474,
        351,
        581,
        351,
        589,
        351,
        634,
        351,
        646,
        351,
        724,
        351,
        732,
        351,
        843,
        351,
        855,
        351,
        921,
        351,
        925,
        351,
        929,
        351
      ],
      [
        99,
        433,
        154,
        433,
        167,
        433,
        276,
        433,
        290,
        433,
        372,
        433,
        385,
        433,
        490,
        433,
        499,
        433,
        503,
        433,
        521,
        433,
        621,
        433,
        635,
        433,
        699,
        433,
        712,
        433,
        826,
        433,
        839,
        433,
        898,
        433,
        912,
        433,
        1071,
        433
      ],
      [
        65,
        511,
        224,
        511,
        239,
        511,
        309,
        511,
        318,
        511,
        482,
        511,
        487,
        511,
        492,
        511,
        510,
        511,
        571,
        511,
        585,
        511,
        740,
        511,
        754,
        511,
        820,
        511,
        834,
        511,
        993,
        511,
        1007,
        511,
        1068,
        511,
        1082,
        511,
        1120,
        511
      ],
      [
        69,
        603,
        231,
        603,
        245,
        603,
        305,
        603,
        319,
        603,
        462,
        603,
        467,
        603,
        471,
        603,
        490,
        603,
        564,
        603,
        573,
        603,
        652,
        603,
        665,
        603,
        744,
        603,
        753,
        603,
        818,
        603,
        832,
        603,
        938,
        603,
        952,
        603,
        980,
        603,
        989,
        603,
        1049,
        603,
        1063,
        603,
        1086,
        603
      ],
      [
        65,
        682,
        201,
        682,
        215,
        682,
        318,
        682,
        322,
        682,
        327,
        682,
        346,
        682,
        421,
        682,
        430,
        682,
        510,
        682,
        524,
        682,
        589,
        682,
        599,
        682,
        701,
        682,
        715,
        682,
        800,
        682,
        814,
        682,
        861,
        682,
        870,
        682,
        959,
        682,
        968,
        682,
        1095,
        682,
        1109,
        682,
        1113,
        682
      ],
      [
        62,
        768,
        155,
        768,
        162,
        768,
        235,
        768,
        245,
        768,
        359,
        768,
        366,
        768,
        400,
        768,
        410,
        768,
        465,
        768,
        469,
        768,
        472,
        768
      ]
    ],
    "poses": [
      35,
      196,
      1188,
      196,
      1188,
      262,
      35,
      262,
      0,
      275,
      1184,
      275,
      1184,
      341,
      0,
      341,
      0,
      351,
      1048,
      351,
      1048,
      424,
      0,
      424,
      33,
      433,
      1195,
      433,
      1195,
      504,
      33,
      504,
      0,
      511,
      1200,
      511,
      1200,
      587,
      0,
      587,
      0,
      603,
      1184,
      603,
      1184,
      668,
      0,
      668,
      0,
      682,
      1198,
      682,
      1198,
      756,
      0,
      756,
      0,
      768,
      602,
      768,
      602,
      844,
      0,
      844
    ],
    "status": "1",
    "texts": [
      "Beach Park School is not on the beach . It is on top of a ",
      "hill It is a quarter-of-an-hour's walk from the hotel . So the ",
      "children decide to go there on foot every day . ",
      "In Beach Park School , there are about one thousand ",
      "teachers and students . The teachers are excellent and the ",
      "students are friendly . Tom and Jack will make a lot of ",
      "friends there , and they will work hard at their lessons . ",
      "They will learn a lot . "
    ],
    "title": 0,
    "token": "OpenAi-_3b325239-9cd4-4331-8381-f2bb05582ffc",
    "word_limit": 1
  }
}

常见问题及反馈

Back to top