RecognizePassport - 护照识别

可对美国、法国、英国、日本、韩国等世界多个主要国家和地区护照提供识别服务,支持字段包括国籍、护照号码、出生日期、姓名等。

接口说明

本接口适用场景

  • 阿里云国际护照识别,是阿里云官方自研 OCR 文字识别产品,适用于出入境审查、国内外身份核验等各种需要提取护照信息的场景。
  • 阿里云 OCR 产品基于阿里巴巴达摩院强大的 AI 技术及海量数据,历经多年沉淀打磨,具有服务稳定、操作简易、实时性高、能力全面等几大优势。
  • 本接口图片示例

本接口核心能力

分类概述
多国护照对美国、法国、英国、日本、韩国等多国和地区护照提供识别服务。
图像增强默认支持图像增强,包括图像自动旋转、畸变自动矫正、模糊图片自动增强等能力。
多类型覆盖支持模糊、光照不均、透视畸变、任意背景等低质量图像识别。
高精度识别总体识别准确率可达 98%。

如何使用本接口

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

重要提示

类型概述
图片格式
  • 本接口支持:PNG、JPG、JPEG、BMP、GIF、TIFF、WebP、OFD、PDF。
图片尺寸
  • 图片长宽需要大于 15 像素,小于 8192 像素。
  • 长宽比需要小于 50。
  • 如需达到较好识别效果,建议长宽均大于 500px。
  • 图片尺寸过小,会影响识别精度。图片内单字大小在 10-50px 内时,识别效果较好。
图片大小
  • 图片二进制文件不能超过 10MB。
  • 图片过大会影响接口响应速度,建议使用小于 1.5M 图片进行识别,且通过传图片 URL 的方式调用接口。
相关能力

调试

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

授权信息

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

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

请求参数

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

返回参数

名称类型描述示例值
object

Schema of Response

RequestIdstring

请求唯一 ID

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

返回数据

{"algo_version": "d119fe9b3f92b23eed8e6e0d7c65e303d5e890f5;d119fe9b3f92b23eed8e6e0d7c65e303d5e890f5", "angle": 0, "data": {"passportType": "P/T", "nationality": "ISR", "passportNumber": "31526354", "nameEn": "TOLEDANO, RIVKA", "name": "", "sex": "Female", "birthPlaceEn": "F/]JERUSALEM", "birthPlace": "", "country": "ISRAELI", "validToDate": "2022年08月06日", "birthDate": "880404", "birthDateYmd": "1988年04月04日", "issueDateYmd": "2017年08月07日", "issuePlaceEn": "", "issuePlace": "", "issueAuthorityEn": "JERUSALEM D7un", "issueAuthority": "", "idNumber": "n17N7U", "mrzLine1": "P<ISRTOLEDANO<<RIVKA<<<<<<<<<<<<<<<<<<<<<<<<", "mrzLine2": "31526354<1ISR8804042F22080623<0473432<1<<<50", "surname": "TOLEDANO", "givenName": "RIVKA"}, "ftype": 0, "height": 502, "orgHeight": 502, "orgWidth": 800, "prism_keyValueInfo": [{"key": "passportType", "keyProb": 93, "value": "P/T", "valuePos": [{"x": 261, "y": 71}, {"x": 314, "y": 71}, {"x": 314, "y": 89}, {"x": 261, "y": 89}], "valueProb": 93}, {"key": "nationality", "keyProb": 100, "value": "ISR", "valuePos": [{"x": 75, "y": 391}, {"x": 721, "y": 388}, {"x": 722, "y": 408}, {"x": 75, "y": 412}], "valueProb": 100}, {"key": "passportNumber", "keyProb": 100, "value": "31526354", "valuePos": [{"x": 77, "y": 426}, {"x": 722, "y": 421}, {"x": 722, "y": 444}, {"x": 77, "y": 448}], "valueProb": 99}, {"key": "nameEn", "keyProb": 100, "value": "TOLEDANO, RIVKA", "valuePos": [{"x": 261, "y": 110}, {"x": 358, "y": 110}, {"x": 358, "y": 165}, {"x": 261, "y": 165}], "valueProb": 100}, {"key": "name", "keyProb": 100, "value": "", "valueProb": 100}, {"key": "sex", "keyProb": 100, "value": "Female", "valuePos": [{"x": 77, "y": 426}, {"x": 722, "y": 421}, {"x": 722, "y": 444}, {"x": 77, "y": 448}], "valueProb": 99}, {"key": "birthPlaceEn", "keyProb": 99, "value": "F/]JERUSALEM", "valuePos": [{"x": 258, "y": 260}, {"x": 434, "y": 259}, {"x": 435, "y": 278}, {"x": 258, "y": 280}], "valueProb": 99}, {"key": "birthPlace", "keyProb": 100, "value": "", "valueProb": 100}, {"key": "country", "keyProb": 100, "value": "ISRAELI", "valuePos": [{"x": 260, "y": 184}, {"x": 329, "y": 182}, {"x": 330, "y": 201}, {"x": 260, "y": 202}], "valueProb": 100}, {"key": "validToDate", "keyProb": 100, "value": "2022年08月06日", "valuePos": [{"x": 77, "y": 426}, {"x": 722, "y": 421}, {"x": 722, "y": 444}, {"x": 77, "y": 448}], "valueProb": 99}, {"key": "birthDate", "keyProb": 100, "value": "880404", "valuePos": [{"x": 77, "y": 426}, {"x": 722, "y": 421}, {"x": 722, "y": 444}, {"x": 77, "y": 448}], "valueProb": 99}, {"key": "birthDateYmd", "keyProb": 100, "value": "1988年04月04日", "valuePos": [{"x": 77, "y": 426}, {"x": 722, "y": 421}, {"x": 722, "y": 444}, {"x": 77, "y": 448}], "valueProb": 99}, {"key": "issueDateYmd", "keyProb": 100, "value": "2017年08月07日", "valuePos": [{"x": 263, "y": 300}, {"x": 371, "y": 300}, {"x": 371, "y": 322}, {"x": 263, "y": 322}], "valueProb": 100}, {"key": "issuePlaceEn", "keyProb": 100, "value": "", "valueProb": 100}, {"key": "issuePlace", "keyProb": 100, "value": "", "valueProb": 100}, {"key": "issueAuthorityEn", "keyProb": 100, "value": "JERUSALEM D7un", "valuePos": [{"x": 262, "y": 341}, {"x": 712, "y": 341}, {"x": 712, "y": 360}, {"x": 262, "y": 360}], "valueProb": 99}, {"key": "issueAuthority", "keyProb": 100, "value": "", "valueProb": 100}, {"key": "idNumber", "keyProb": 80, "value": "n17N7U", "valuePos": [{"x": 636, "y": 184}, {"x": 709, "y": 184}, {"x": 709, "y": 201}, {"x": 636, "y": 201}], "valueProb": 80}, {"key": "mrzLine1", "keyProb": 100, "value": "P<ISRTOLEDANO<<RIVKA<<<<<<<<<<<<<<<<<<<<<<<<", "valuePos": [{"x": 75, "y": 391}, {"x": 721, "y": 388}, {"x": 722, "y": 408}, {"x": 75, "y": 412}], "valueProb": 100}, {"key": "mrzLine2", "keyProb": 99, "value": "31526354<1ISR8804042F22080623<0473432<1<<<50", "valuePos": [{"x": 77, "y": 426}, {"x": 722, "y": 421}, {"x": 722, "y": 444}, {"x": 77, "y": 448}], "valueProb": 99}, {"key": "surname", "keyProb": 100, "value": "TOLEDANO", "valuePos": [{"x": 75, "y": 391}, {"x": 721, "y": 388}, {"x": 722, "y": 408}, {"x": 75, "y": 412}], "valueProb": 100}, {"key": "givenName", "keyProb": 100, "value": "RIVKA", "valuePos": [{"x": 75, "y": 391}, {"x": 721, "y": 388}, {"x": 722, "y": 408}, {"x": 75, "y": 412}], "valueProb": 100}], "sliceRect": {"x0": 42, "y0": 2, "x1": 760, "y1": 0, "x2": 760, "y2": 495, "x3": 42, "y3": 495}, "width": 800}
Codestring

错误码

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

错误信息

The image URL is unavailable or has timed out.(如果识别成功,不会返回此字段)

返回参数说明


字段类型说明
dataobject结构化信息。
sliceRectlist检测出的子图坐标信息。
prism_keyValueInfolist结构化信息的坐标信息。
ftypeint是否为复印件(1:是,0:否)。
heightint算法矫正图片后的高度。
widthint算法矫正图片后的宽度。
orgHeightint原图的高度。
orgWidthint原图的宽度。

结构化信息(data 字段)

字段类型说明
passportTypestring证件类型。
surnamestring姓。
givenNamestring名。
passportNumberstring护照号码。
nationalitystring国家码。
nameEnstring英文姓名。
namestring非英文姓名。
sexstring性别。
birthPlaceEnstring出生地。
birthPlacestring非英文出生地。
countrystring国籍。
validToDatestring有效期至。
birthDatestring出生日期。
birthDateYmdstring出生日期-年月日。
issueDateYmdstring签发日期。
issuePlaceEnstring签发地。
issuePlacestring非英文签发地。
issueAuthorityEnstring签发机关。
issueAuthoritystring非英文签发机关。
idNumberstring身份号。
mrzLine1string机读码一。
mrzLine2string机读码二。

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

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

示例

正常返回示例

JSON格式

{
  "RequestId": "43A29C77-405E-4CC0-BC55-EE694AD00655",
  "Data": "{\"algo_version\": \"d119fe9b3f92b23eed8e6e0d7c65e303d5e890f5;d119fe9b3f92b23eed8e6e0d7c65e303d5e890f5\", \"angle\": 0, \"data\": {\"passportType\": \"P/T\", \"nationality\": \"ISR\", \"passportNumber\": \"31526354\", \"nameEn\": \"TOLEDANO, RIVKA\", \"name\": \"\", \"sex\": \"Female\", \"birthPlaceEn\": \"F/]JERUSALEM\", \"birthPlace\": \"\", \"country\": \"ISRAELI\", \"validToDate\": \"2022年08月06日\", \"birthDate\": \"880404\", \"birthDateYmd\": \"1988年04月04日\", \"issueDateYmd\": \"2017年08月07日\", \"issuePlaceEn\": \"\", \"issuePlace\": \"\", \"issueAuthorityEn\": \"JERUSALEM D7un\", \"issueAuthority\": \"\", \"idNumber\": \"n17N7U\", \"mrzLine1\": \"P<ISRTOLEDANO<<RIVKA<<<<<<<<<<<<<<<<<<<<<<<<\", \"mrzLine2\": \"31526354<1ISR8804042F22080623<0473432<1<<<50\", \"surname\": \"TOLEDANO\", \"givenName\": \"RIVKA\"}, \"ftype\": 0, \"height\": 502, \"orgHeight\": 502, \"orgWidth\": 800, \"prism_keyValueInfo\": [{\"key\": \"passportType\", \"keyProb\": 93, \"value\": \"P/T\", \"valuePos\": [{\"x\": 261, \"y\": 71}, {\"x\": 314, \"y\": 71}, {\"x\": 314, \"y\": 89}, {\"x\": 261, \"y\": 89}], \"valueProb\": 93}, {\"key\": \"nationality\", \"keyProb\": 100, \"value\": \"ISR\", \"valuePos\": [{\"x\": 75, \"y\": 391}, {\"x\": 721, \"y\": 388}, {\"x\": 722, \"y\": 408}, {\"x\": 75, \"y\": 412}], \"valueProb\": 100}, {\"key\": \"passportNumber\", \"keyProb\": 100, \"value\": \"31526354\", \"valuePos\": [{\"x\": 77, \"y\": 426}, {\"x\": 722, \"y\": 421}, {\"x\": 722, \"y\": 444}, {\"x\": 77, \"y\": 448}], \"valueProb\": 99}, {\"key\": \"nameEn\", \"keyProb\": 100, \"value\": \"TOLEDANO, RIVKA\", \"valuePos\": [{\"x\": 261, \"y\": 110}, {\"x\": 358, \"y\": 110}, {\"x\": 358, \"y\": 165}, {\"x\": 261, \"y\": 165}], \"valueProb\": 100}, {\"key\": \"name\", \"keyProb\": 100, \"value\": \"\", \"valueProb\": 100}, {\"key\": \"sex\", \"keyProb\": 100, \"value\": \"Female\", \"valuePos\": [{\"x\": 77, \"y\": 426}, {\"x\": 722, \"y\": 421}, {\"x\": 722, \"y\": 444}, {\"x\": 77, \"y\": 448}], \"valueProb\": 99}, {\"key\": \"birthPlaceEn\", \"keyProb\": 99, \"value\": \"F/]JERUSALEM\", \"valuePos\": [{\"x\": 258, \"y\": 260}, {\"x\": 434, \"y\": 259}, {\"x\": 435, \"y\": 278}, {\"x\": 258, \"y\": 280}], \"valueProb\": 99}, {\"key\": \"birthPlace\", \"keyProb\": 100, \"value\": \"\", \"valueProb\": 100}, {\"key\": \"country\", \"keyProb\": 100, \"value\": \"ISRAELI\", \"valuePos\": [{\"x\": 260, \"y\": 184}, {\"x\": 329, \"y\": 182}, {\"x\": 330, \"y\": 201}, {\"x\": 260, \"y\": 202}], \"valueProb\": 100}, {\"key\": \"validToDate\", \"keyProb\": 100, \"value\": \"2022年08月06日\", \"valuePos\": [{\"x\": 77, \"y\": 426}, {\"x\": 722, \"y\": 421}, {\"x\": 722, \"y\": 444}, {\"x\": 77, \"y\": 448}], \"valueProb\": 99}, {\"key\": \"birthDate\", \"keyProb\": 100, \"value\": \"880404\", \"valuePos\": [{\"x\": 77, \"y\": 426}, {\"x\": 722, \"y\": 421}, {\"x\": 722, \"y\": 444}, {\"x\": 77, \"y\": 448}], \"valueProb\": 99}, {\"key\": \"birthDateYmd\", \"keyProb\": 100, \"value\": \"1988年04月04日\", \"valuePos\": [{\"x\": 77, \"y\": 426}, {\"x\": 722, \"y\": 421}, {\"x\": 722, \"y\": 444}, {\"x\": 77, \"y\": 448}], \"valueProb\": 99}, {\"key\": \"issueDateYmd\", \"keyProb\": 100, \"value\": \"2017年08月07日\", \"valuePos\": [{\"x\": 263, \"y\": 300}, {\"x\": 371, \"y\": 300}, {\"x\": 371, \"y\": 322}, {\"x\": 263, \"y\": 322}], \"valueProb\": 100}, {\"key\": \"issuePlaceEn\", \"keyProb\": 100, \"value\": \"\", \"valueProb\": 100}, {\"key\": \"issuePlace\", \"keyProb\": 100, \"value\": \"\", \"valueProb\": 100}, {\"key\": \"issueAuthorityEn\", \"keyProb\": 100, \"value\": \"JERUSALEM D7un\", \"valuePos\": [{\"x\": 262, \"y\": 341}, {\"x\": 712, \"y\": 341}, {\"x\": 712, \"y\": 360}, {\"x\": 262, \"y\": 360}], \"valueProb\": 99}, {\"key\": \"issueAuthority\", \"keyProb\": 100, \"value\": \"\", \"valueProb\": 100}, {\"key\": \"idNumber\", \"keyProb\": 80, \"value\": \"n17N7U\", \"valuePos\": [{\"x\": 636, \"y\": 184}, {\"x\": 709, \"y\": 184}, {\"x\": 709, \"y\": 201}, {\"x\": 636, \"y\": 201}], \"valueProb\": 80}, {\"key\": \"mrzLine1\", \"keyProb\": 100, \"value\": \"P<ISRTOLEDANO<<RIVKA<<<<<<<<<<<<<<<<<<<<<<<<\", \"valuePos\": [{\"x\": 75, \"y\": 391}, {\"x\": 721, \"y\": 388}, {\"x\": 722, \"y\": 408}, {\"x\": 75, \"y\": 412}], \"valueProb\": 100}, {\"key\": \"mrzLine2\", \"keyProb\": 99, \"value\": \"31526354<1ISR8804042F22080623<0473432<1<<<50\", \"valuePos\": [{\"x\": 77, \"y\": 426}, {\"x\": 722, \"y\": 421}, {\"x\": 722, \"y\": 444}, {\"x\": 77, \"y\": 448}], \"valueProb\": 99}, {\"key\": \"surname\", \"keyProb\": 100, \"value\": \"TOLEDANO\", \"valuePos\": [{\"x\": 75, \"y\": 391}, {\"x\": 721, \"y\": 388}, {\"x\": 722, \"y\": 408}, {\"x\": 75, \"y\": 412}], \"valueProb\": 100}, {\"key\": \"givenName\", \"keyProb\": 100, \"value\": \"RIVKA\", \"valuePos\": [{\"x\": 75, \"y\": 391}, {\"x\": 721, \"y\": 388}, {\"x\": 722, \"y\": 408}, {\"x\": 75, \"y\": 412}], \"valueProb\": 100}], \"sliceRect\": {\"x0\": 42, \"y0\": 2, \"x1\": 760, \"y1\": 0, \"x2\": 760, \"y2\": 495, \"x3\": 42, \"y3\": 495}, \"width\": 800}",
  "Code": "IllegalImageUrl(如果识别成功,不会返回此字段)",
  "Message": "The image URL is unavailable or has timed out.(如果识别成功,不会返回此字段)"
}

错误码

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

变更历史

变更时间变更内容概要操作
2021-08-17OpenAPI 入参发生变更查看变更详情