RecognizePassport - 国际护照识别

更新时间:2025-04-30 07:14:59

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

接口说明

本接口适用场景

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

本接口核心能力

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

如何使用本接口

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

重要提示

类型概述
类型概述
图片格式
  • 本接口支持:PNG、JPG、JPEG、BMP、GIF、TIFF、WebP。暂不支持 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 中即可。
图片二进制文件

请求注意事项

  1. 此接口 10 秒超时。
  2. 如果通过 OCR SDK 调用接口,SDK 默认的 socketTimeout10 秒。请注意适当增加 RuntimeOptionssocketTimeout 参数的值。

返回参数

名称类型描述示例值
名称类型描述示例值
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": "20220806日", "birthDate": "880404", "birthDateYmd": "19880404日", "issueDateYmd": "20170807日", "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": "20220806日", "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": "19880404日", "valuePos": [{"x": 77, "y": 426}, {"x": 722, "y": 421}, {"x": 722, "y": 444}, {"x": 77, "y": 448}], "valueProb": 99}, {"key": "issueDateYmd", "keyProb": 100, "value": "20170807日", "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

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

noPermission
Messagestring

错误提示(如果识别成功,不会返回此字段)

You are not authorized to perform this operation.

返回参数说明


字段类型说明
字段类型说明
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": "noPermission",
  "Message": "You are not authorized to perform this operation."
}

错误码

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

变更历史

变更时间变更内容概要操作
变更时间变更内容概要操作
2021-08-17OpenAPI 入参发生变更查看变更详情
  • 本页导读 (1)
  • 接口说明
  • 调试
  • 授权信息
  • 请求参数
  • 返回参数
  • 示例
  • 错误码
  • 变更历史