文档首页> 文字识别 OCR> API参考> API> 防疫健康码识别
更新时间:2022-11-25 GMT+08:00
分享

防疫健康码识别

功能介绍

支持对全国各地区不同版式的防疫健康码中的姓名、健康码更新时间、健康码颜色,并将识别的结构化结果返回给用户。

支持识别4种健康码颜色,包括绿码、黄码、红码、灰码;支持返回各个关键字段的置信度,以便提高人工校验效率。

已推出三码合一功能(健康码、核酸检测记录、行程卡)。您只需要调用1个接口,即可智能结构化识别健康码、核酸检测记录、行程卡等页面信息,包括防疫码类别、姓名、身份证号码、手机号码、省份、城市、健康码或行程卡的更新时间、健康码或行程卡颜色、疫苗接种情况、核酸检测结果、核酸检测机构、核酸检测结果更新时间、核酸检测采样时间、行程卡的途经地址等14个关键字段。

图1 防疫健康码版式示例图

约束与限制

  • 支持全国不同地区健康码的识别。
  • 只支持识别PNG、JPG、JPEG、BMP、TIFF格式的图片。
  • 图像各边的像素大小在15到8192px之间。
  • 图像中健康码区域有效占比超过80%,保证整张健康码内容及其边缘包含在图像内。
  • 推荐采用手机截图图像。
  • 支持图像中健康码任意角度的水平旋转(需开启方向检测)。
  • 能处理反光、暗光等干扰的图片但影响识别精度。
  • 目前只支持识别单张健康码。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST https://{endpoint}/v2/{project_id}/ocr/health-code

表1 路径参数

参数

是否必选

说明

endpoint

终端节点,即调用API的请求地址。

不同服务不同区域的endpoint不同,您可以从终端节点中获取。

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

project_id

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

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

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

Content-Type

String

发送的实体的MIME类型,参数值为“application/json”。

Enterprise-Project-Id

String

企业项目ID。OCR支持通过企业项目管理(EPS)对不同用户组和用户的资源使用,进行分账。

获取方法:进入“企业项目管理”页面,单击企业项目名称,在企业项目详情页获取Enterprise-Project-Id(企业项目ID)。

企业项目创建步骤请参见用户指南。

说明:

创建企业项目后,在传参时,有以下三类场景。

  • 携带正确的ID,正常使用OCR服务,账单归到企业ID对应的企业项目中。
  • 携带错误的ID,正常使用OCR服务,账单的企业项目会被分类为“未归集”。
  • 不携带ID,正常使用OCR服务,账单的企业项目会被分类为“未归集”。
表3 请求Body参数

参数

是否必选

参数类型

描述

image

String

与url二选一。

图片的Base64编码,图片尺寸不小于15×15像素,最长边不超过8192像素,支持JPG/JPEG/PNG/BMP/TIFF格式。

图片Base64编码示例如/9j/4AAQSkZJRgABAg...,带有多余前缀会产生The image format is not supported报错。

url

String

与image二选一。

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

detect_direction

Boolean

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

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

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

待识别图片如果存在倾斜,建议将此参数设置为“true”。

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

result

HealthCodeResult object

识别结果。

调用失败时此字段为空。

表5 HealthCodeResult

参数

参数类型

描述

type

String

防疫码类别:

  • 健康码:health_code
  • 核酸检测记录:pcr_test_record
  • 通信行程卡:travel_card
  • 其他:other

name

String

姓名

idcard_number

String

身份证号码

phone_number

String

手机号码

province

String

省份

city

String

城市

time

String

健康码或行程卡的更新时间

color

String

健康码或行程卡颜色。 健康码颜色可选值包括:

  • "green",绿码
  • "yellow",黄码
  • "red",红码
  • "gray",灰码

行程卡颜色可选值包括:

  • "green",绿码
  • "yellow",黄码
  • "red",红码

vaccination_status

String

疫苗接种情况,可选值包括:

  • 未接种
  • 接种中
  • 无接种记录
  • 已接种1针
  • 已接种2针
  • 已接种3针
  • 已完成新冠疫苗接种

test_interval

String

核酸检测间隔时长,可选值包括:

  • 24小时内
  • 48小时内
  • 72小时内
  • 5天内
  • 7天内
  • 7天外

pcr_test_result

String

核酸检测结果,可选值包括:

  • "positive",即阳性
  • "negative",即阴性
  • "unknown",未知

pcr_test_organization

String

核酸检测机构

pcr_test_time

String

核酸检测结果更新时间

pcr_sampling_time

String

核酸检测采样时间

reached_city

Array of strings

行程卡的途径地址

confidence

Object

各个字段的置信度。

words_block_count

Integer

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

words_block_list

Array of HealthCodeWordsBlockList objects

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

表6 HealthCodeWordsBlockList

参数

参数类型

描述

words

String

文字块识别结果。

location

Array<Array<Integer>>

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

confidence

Float

各个字段的置信度

状态码: 400

表7 响应Body参数

参数

参数类型

描述

error_code

String

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

调用成功时无此字段。

error_msg

String

调用失败时的错误信息。

调用成功时无此字段。

请求示例

  • ndpoint即调用API的请求地址,不同服务不同区域的Endpoint不同,具体请参见终端节点。 例如,防疫健康码识别服务部署在“华北-北京四”区域的“endpoint”为“ocr.cn-north-4.myhuaweicloud.com”,请求URL为“https://ocr.cn-north-4.myhuaweicloud.com/v2/{project_id}/ocr/health-code”,“project_id”为项目ID,获取方法请参见获取项目ID
  • 如何获取Token请参见认证鉴权
POST https://ocr.cn-north-4.myhuaweicloud.com/v2/{project_id}/health-code
Request Header: 
Content-Type: application/json
Request Body:
{
  "image" : "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAA..."
}

响应示例

状态码: 200

成功响应样例

{
  "result" : {
    "type" : "health_code",
    "name" : "**余",
    "idcard_number" : "",
    "phone_number" : "",
    "province" : "安徽省",
    "city" : "合肥市",
    "time" : "2022-03-30 15:37:13",
    "color" : "green",
    "vaccination_status" : "x 2已接种新冠疫苗",
    "pcr_test_result" : "",
    "pcr_test_organization" : "",
    "pcr_test_time" : "",
    "pcr_sampling_time" : "",
    "reached_city" : "",
    "confidence" : {
      "type" : 0.615,
      "name" : 0.9003,
      "idcard_number" : 0,
      "phone_number" : 0,
      "province" : 0,
      "city" : 0.8785,
      "time" : 0.9174,
      "color" : 0.615,
      "vaccination_status" : 0.8691,
      "pcr_test_result" : 0,
      "pcr_test_organization" : 0,
      "pcr_test_time" : 0,
      "pcr_sampling_time" : 0,
      "reached_city" : 0
    },
    "words_block_count" : 16,
    "words_block_list" : [ {
      "words" : "文字块1",
      "confidence" : 0.8327,
      "location" : [ [ 754, 21 ], [ 855, 21 ], [ 855, 60 ], [ 754, 60 ] ]
    }, {
      "words" : "文字块2",
      "confidence" : 0.7972,
      "location" : [ [ 929, 22 ], [ 1022, 22 ], [ 1022, 59 ], [ 929, 59 ] ]
    } ]
  }
}

状态码: 400

失败响应样例

{
  "error_code" : "AIS.0103",
  "error_msg" : "The image size does not meet the requirements."
}

状态码

状态码请参见状态码

错误码

错误码请参见错误码

分享:

    相关文档

    相关产品