RecognizeHKIdcard - 中国香港身份证识别

支持香港永久性居民身份证和香港居民身份证两种类型的证件识别,已支持全字段识别,包括中文姓名(如有)、英文姓名、中文姓名电码(如有)、出生日期、性别、符号标记、身份证号码等。

接口说明

如何使用本接口

步骤概述
1开通 个人证照识别 服务。
2购买中国香港身份证识别资源包。本 API 会赠送免费额度,可使用免费额度测试。您也可以不购买资源包,系统会通过“按量付费”方式按实际调用量自动扣款。
3可以参照调试页面提供的代码示例完成 API 接入开发。接入完成后,调用 API 获取识别结果。如果使用子账号调用接口,需要阿里云账号(主账号)对 RAM 账号进行授权。创建 RAM 用户的具体操作,请参考:创建 RAM 用户。文字识别服务提供一种系统授权策略,即 AliyunOCRFullAccess。具体授权操作,请参见在用户页面为 RAM 用户授权。

重要提示

类型概述
图片格式
  • 本接口支持:PNG、JPG、JPEG、BMP、GIF、TIFF、WebP。暂不支持 PDF 格式。
图片尺寸
  • 图片长宽需要大于 15 像素,小于 8192 像素。
  • 长宽比需要小于 50。
  • 如需达到较好识别效果,建议长宽均大于 500px。
图片大小
  • 图片二进制文件不能超过 10MB。
  • 图片过大会影响接口响应速度,建议使用小于 1.5M 图片进行识别,且通过传图片 URL 的方式调用接口。
国家与语言
  • 本接口只支持中国香港身份证。
其他提示
  • 请保证整张身份证内容及其边缘包含在图像内。
  • 本能力会自动处理反光、扭曲等干扰信息,但会影响精度。请尽量选择清晰度高、无反光、无扭曲的图片。
相关能力

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ocr:RecognizeHKIdcard
*全部资源
*

请求参数

名称类型必填描述示例值
Urlstring
  • 本字段和 body 字段二选一,不可同时透传或同时为空。
  • 图片链接(长度不超 2048 字节,不支持 base64)。
https://example.png
bodybyte
  • 本字段和 URL 字段二选一,不可同时透传或同时为空。
  • 图片二进制文件,最大 10MB。
  • 使用 HTTP 方式调用,把图片二进制文件放到 HTTP body 中上传即可。
  • 使用 SDK 的方式调用,把图片放到 SDK 的 body 中即可。
图片二进制文件

返回参数

名称类型描述示例值
object

Schema of Response

RequestIdstring

请求唯一 ID

43A29C77-405E-4CC0-BC55-EE694AD00655
Datastring

返回数据

{ "algo_version": "5e7c3de7fb3969700828bd933ee071782bc22088", "data": { "birthDate": "01-01-19XX", "firstIssuedDate": "(01-79)", "idNumber": "CXXXXXX(E)", "issuedCode": "***AZ", "issuedDate": "XX-09-03", "nameCn": "李XX", "nameCode": "2621 2535 5174", "nameEn": "LEE, Chi Nan", "sex": "女F" }, "ftype": 0, "height": 158, "orgHeight": 158, "orgWidth": 249, "prism_keyValueInfo": [ { "key": "nameCn", "keyProb": 100, "value": "李XX", "valuePos": [ { "x": 11, "y": 27 }, { "x": 53, "y": 27 }, { "x": 53, "y": 40 }, { "x": 11, "y": 40 } ], "valueProb": 100 }, { "key": "nameEn", "keyProb": 97, "value": "LEE, XX", "valuePos": [ { "x": 10, "y": 40 }, { "x": 81, "y": 40 }, { "x": 81, "y": 51 }, { "x": 10, "y": 51 } ], "valueProb": 97 }, { "key": "nameCode", "keyProb": 100, "value": "XXX", "valuePos": [ { "x": 73, "y": 54 }, { "x": 155, "y": 54 }, { "x": 155, "y": 64 }, { "x": 73, "y": 64 } ], "valueProb": 100 }, { "key": "birthDate", "keyProb": 100, "value": "01-01-19XX", "valuePos": [ { "x": 73, "y": 86 }, { "x": 133, "y": 85 }, { "x": 133, "y": 93 }, { "x": 74, "y": 95 } ], "valueProb": 100 }, { "key": "sex", "keyProb": 98, "value": "女F", "valuePos": [ { "x": 153, "y": 84 }, { "x": 171, "y": 84 }, { "x": 171, "y": 94 }, { "x": 153, "y": 94 } ], "valueProb": 98 }, { "key": "issuedCode", "keyProb": 99, "value": "***AZ", "valuePos": [ { "x": 75, "y": 97 }, { "x": 104, "y": 97 }, { "x": 104, "y": 106 }, { "x": 75, "y": 106 } ], "valueProb": 99 }, { "key": "firstIssuedDate", "keyProb": 100, "value": "(01-79)", "valuePos": [ { "x": 74, "y": 119 }, { "x": 115, "y": 118 }, { "x": 115, "y": 126 }, { "x": 75, "y": 128 } ], "valueProb": 100 }, { "key": "issuedDate", "keyProb": 100, "value": "15-09-03", "valuePos": [ { "x": 74, "y": 135 }, { "x": 133, "y": 133 }, { "x": 133, "y": 143 }, { "x": 75, "y": 144 } ], "valueProb": 100 }, { "key": "idNumber", "keyProb": 100, "value": "XXXXXX(E)", "valuePos": [ { "x": 160, "y": 134 }, { "x": 232, "y": 133 }, { "x": 232, "y": 142 }, { "x": 161, "y": 144 } ], "valueProb": 100 } ], "sliceRect": { "x0": 0, "x1": 248, "x2": 248, "x3": 0, "y0": 0, "y1": 0, "y2": 157, "y3": 158 }, "width": 249 }
Codestring

状态码(如果识别成功,不会返回此字段)

如果识别成功,不会返回此字段
Messagestring

详细信息(如果识别成功,不会返回此字段)

如果识别成功,不会返回此字段

返回参数说明


字段类型说明
dataobject结构化信息。
figurelist身份证人像面的人脸位置信息。
sliceRectlist结构化信息的坐标信息。
prism_keyValueInfolist结构化信息的坐标信息。
ftypeint是否为复印件(1:是,0:否)。
heightint算法矫正图片后的高度。
widthint算法矫正图片后的宽度。
orgHeightint原图的高度。
orgWidthint原图的宽度。

结构化信息(data 字段)

字段类型说明
birthDatestring出生日期。
firstIssuedDatestring首次签发日期。
idNumberstring身份证号码。
issuedCodestring签发标志。
issuedDatestring签发日期。
nameCnstring中文姓名。
nameCodestring姓名电码。
nameEnstring英文姓名。
sexstring性别。

结构化坐标信息(prism_keyValueInfo 字段)

字段类型说明
keystring识别出的字段名称。
keyProbint字段名称置信度。
valuestring识别出的字段名称对应的值。
valueProbint字段名称对应值的置信度。
valuePoslist字段在原图中的四个点坐标(左上、右上、右下、左下)。

正面人像位置信息(figure 字段)

字段类型说明
typestring图案类型。
xint人像图案左上角横坐标。
yint人像图案左上角纵坐标。
wint人像图案宽度。
hint人像图案高度。
boxobject人像图案坐标信息:人像图案中心横纵坐标,长宽,图案顺时针旋转角度。定义同 OpenCV 中 RotatedRect,请参见 OpenCV 文档
pointslist人像图案四个点坐标(左上、右上、右下、左下)。

示例

正常返回示例

JSON格式

{
  "RequestId": "43A29C77-405E-4CC0-BC55-EE694AD00655",
  "Data": "{\n    \"algo_version\": \"5e7c3de7fb3969700828bd933ee071782bc22088\",\n    \"data\": {\n        \"birthDate\": \"01-01-19XX\",\n        \"firstIssuedDate\": \"(01-79)\",\n        \"idNumber\": \"CXXXXXX(E)\",\n        \"issuedCode\": \"***AZ\",\n        \"issuedDate\": \"XX-09-03\",\n        \"nameCn\": \"李XX\",\n        \"nameCode\": \"2621 2535 5174\",\n        \"nameEn\": \"LEE, Chi Nan\",\n        \"sex\": \"女F\"\n    },\n    \"ftype\": 0,\n    \"height\": 158,\n    \"orgHeight\": 158,\n    \"orgWidth\": 249,\n    \"prism_keyValueInfo\": [\n        {\n            \"key\": \"nameCn\",\n            \"keyProb\": 100,\n            \"value\": \"李XX\",\n            \"valuePos\": [\n                {\n                    \"x\": 11,\n                    \"y\": 27\n                },\n                {\n                    \"x\": 53,\n                    \"y\": 27\n                },\n                {\n                    \"x\": 53,\n                    \"y\": 40\n                },\n                {\n                    \"x\": 11,\n                    \"y\": 40\n                }\n            ],\n            \"valueProb\": 100\n        },\n        {\n            \"key\": \"nameEn\",\n            \"keyProb\": 97,\n            \"value\": \"LEE, XX\",\n            \"valuePos\": [\n                {\n                    \"x\": 10,\n                    \"y\": 40\n                },\n                {\n                    \"x\": 81,\n                    \"y\": 40\n                },\n                {\n                    \"x\": 81,\n                    \"y\": 51\n                },\n                {\n                    \"x\": 10,\n                    \"y\": 51\n                }\n            ],\n            \"valueProb\": 97\n        },\n        {\n            \"key\": \"nameCode\",\n            \"keyProb\": 100,\n            \"value\": \"XXX\",\n            \"valuePos\": [\n                {\n                    \"x\": 73,\n                    \"y\": 54\n                },\n                {\n                    \"x\": 155,\n                    \"y\": 54\n                },\n                {\n                    \"x\": 155,\n                    \"y\": 64\n                },\n                {\n                    \"x\": 73,\n                    \"y\": 64\n                }\n            ],\n            \"valueProb\": 100\n        },\n        {\n            \"key\": \"birthDate\",\n            \"keyProb\": 100,\n            \"value\": \"01-01-19XX\",\n            \"valuePos\": [\n                {\n                    \"x\": 73,\n                    \"y\": 86\n                },\n                {\n                    \"x\": 133,\n                    \"y\": 85\n                },\n                {\n                    \"x\": 133,\n                    \"y\": 93\n                },\n                {\n                    \"x\": 74,\n                    \"y\": 95\n                }\n            ],\n            \"valueProb\": 100\n        },\n        {\n            \"key\": \"sex\",\n            \"keyProb\": 98,\n            \"value\": \"女F\",\n            \"valuePos\": [\n                {\n                    \"x\": 153,\n                    \"y\": 84\n                },\n                {\n                    \"x\": 171,\n                    \"y\": 84\n                },\n                {\n                    \"x\": 171,\n                    \"y\": 94\n                },\n                {\n                    \"x\": 153,\n                    \"y\": 94\n                }\n            ],\n            \"valueProb\": 98\n        },\n        {\n            \"key\": \"issuedCode\",\n            \"keyProb\": 99,\n            \"value\": \"***AZ\",\n            \"valuePos\": [\n                {\n                    \"x\": 75,\n                    \"y\": 97\n                },\n                {\n                    \"x\": 104,\n                    \"y\": 97\n                },\n                {\n                    \"x\": 104,\n                    \"y\": 106\n                },\n                {\n                    \"x\": 75,\n                    \"y\": 106\n                }\n            ],\n            \"valueProb\": 99\n        },\n        {\n            \"key\": \"firstIssuedDate\",\n            \"keyProb\": 100,\n            \"value\": \"(01-79)\",\n            \"valuePos\": [\n                {\n                    \"x\": 74,\n                    \"y\": 119\n                },\n                {\n                    \"x\": 115,\n                    \"y\": 118\n                },\n                {\n                    \"x\": 115,\n                    \"y\": 126\n                },\n                {\n                    \"x\": 75,\n                    \"y\": 128\n                }\n            ],\n            \"valueProb\": 100\n        },\n        {\n            \"key\": \"issuedDate\",\n            \"keyProb\": 100,\n            \"value\": \"15-09-03\",\n            \"valuePos\": [\n                {\n                    \"x\": 74,\n                    \"y\": 135\n                },\n                {\n                    \"x\": 133,\n                    \"y\": 133\n                },\n                {\n                    \"x\": 133,\n                    \"y\": 143\n                },\n                {\n                    \"x\": 75,\n                    \"y\": 144\n                }\n            ],\n            \"valueProb\": 100\n        },\n        {\n            \"key\": \"idNumber\",\n            \"keyProb\": 100,\n            \"value\": \"XXXXXX(E)\",\n            \"valuePos\": [\n                {\n                    \"x\": 160,\n                    \"y\": 134\n                },\n                {\n                    \"x\": 232,\n                    \"y\": 133\n                },\n                {\n                    \"x\": 232,\n                    \"y\": 142\n                },\n                {\n                    \"x\": 161,\n                    \"y\": 144\n                }\n            ],\n            \"valueProb\": 100\n        }\n    ],\n    \"sliceRect\": {\n        \"x0\": 0,\n        \"x1\": 248,\n        \"x2\": 248,\n        \"x3\": 0,\n        \"y0\": 0,\n        \"y1\": 0,\n        \"y2\": 157,\n        \"y3\": 158\n    },\n    \"width\": 249\n}",
  "Code": "如果识别成功,不会返回此字段",
  "Message": "如果识别成功,不会返回此字段\n"
}

错误码

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
暂无变更历史