RecognizeBankCard - 银行卡识别

可精准识别各类银行卡中的银行卡卡号和有效期,且支持横卡、竖卡及银行卡任意角度偏斜情况的识别与提取,支持中国内地大多数银行,以及各种位数、凸字卡面、平面卡面等的识别。

接口说明

本接口适用场景

  • 阿里云银行卡识别,是阿里云官方自研 OCR 文字识别产品,适用于获取银行卡上的卡号、日期、银行名称等关键信息的场景。
  • 阿里云 OCR 产品基于阿里巴巴达摩院强大的 AI 技术及海量数据,历经多年沉淀打磨,具有服务稳定、操作简易、实时性高、能力全面等几大优势。
  • 本接口图片示例

本接口核心能力

分类概述
多银行支持中国银行、中国工商银行、交通银行、邮政银行等多家银行。
图像增强默认支持图像增强,包括图像自动旋转、畸变自动矫正、模糊图片自动增强等能力。
多类型覆盖支持模糊、光照不均、透视畸变、任意背景等低质量图像识别。
多卡面类型支持各种位数、凸字卡面、平面卡面的识别。

如何使用本接口

步骤概述
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:RecognizeBankCard
*全部资源
*

请求参数

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

返回参数

名称类型描述示例值
object

Schema of Response

RequestIdstring

请求唯一 ID

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

返回数据

{"algo_version":"7a6241b9ccce3746da42ff09ee692b27721728bb;7a6241b9ccce3746da42ff09ee692b27721728bb","data":{"bankName":"交通银行","cardNumber":"6222621370000783456","validToDate":"2024/12","cardType":"DC"},"ftype":0,"height":2139,"orgHeight":2139,"orgWidth":3116,"prism_keyValueInfo":[{"key":"bankName","keyProb":100,"value":"交通银行","valuePos":[{"x":374,"y":169},{"x":1344,"y":143},{"x":1350,"y":344},{"x":379,"y":370}],"valueProb":100},{"key":"cardNumber","keyProb":100,"value":"6222621370000783456","valuePos":[{"x":103,"y":1253},{"x":3011,"y":1137},{"x":3021,"y":1370},{"x":112,"y":1486}],"valueProb":100},{"key":"validToDate","keyProb":100,"value":"2024/12","valuePos":[{"x":1347,"y":1573},{"x":2074,"y":1554},{"x":2077,"y":1698},{"x":1351,"y":1718}],"valueProb":100},{"key":"cardType","keyProb":100,"value":"DC","valuePos":[{"x":437,"y":445},{"x":1316,"y":433},{"x":1318,"y":541},{"x":439,"y":553}],"valueProb":100}],"sliceRect":{"x0":0,"y0":8,"x1":3110,"y1":0,"x2":3116,"y2":2046,"x3":0,"y3":2139},"width":3116}
Codestring

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

noPermission
Messagestring

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

You are not authorized to perform this operation.

返回参数说明


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

结构化信息(data 字段)

字段类型说明
cardTypestring卡种(CC(贷记卡),SCC(准贷记卡),DCC(存贷合一卡),DC(储蓄卡),PC(预付卡))。
bankNamestring银行名称。
cardNumberstring银行卡号。
validToDatestring有效期限。

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

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

示例

正常返回示例

JSON格式

{
  "RequestId": "43A29C77-405E-4CC0-BC55-EE694AD00655",
  "Data": {
    "algo_version": "7a6241b9ccce3746da42ff09ee692b27721728bb;7a6241b9ccce3746da42ff09ee692b27721728bb",
    "data": {
      "bankName": "交通银行",
      "cardNumber": 6222621370000783000,
      "validToDate": "2024/12",
      "cardType": "DC"
    },
    "ftype": 0,
    "height": 2139,
    "orgHeight": 2139,
    "orgWidth": 3116,
    "prism_keyValueInfo": [
      {
        "key": "bankName",
        "keyProb": 100,
        "value": "交通银行",
        "valuePos": [
          {
            "x": 374,
            "y": 169
          },
          {
            "x": 1344,
            "y": 143
          },
          {
            "x": 1350,
            "y": 344
          },
          {
            "x": 379,
            "y": 370
          }
        ],
        "valueProb": 100
      },
      {
        "key": "cardNumber",
        "keyProb": 100,
        "value": 6222621370000783000,
        "valuePos": [
          {
            "x": 103,
            "y": 1253
          },
          {
            "x": 3011,
            "y": 1137
          },
          {
            "x": 3021,
            "y": 1370
          },
          {
            "x": 112,
            "y": 1486
          }
        ],
        "valueProb": 100
      },
      {
        "key": "validToDate",
        "keyProb": 100,
        "value": "2024/12",
        "valuePos": [
          {
            "x": 1347,
            "y": 1573
          },
          {
            "x": 2074,
            "y": 1554
          },
          {
            "x": 2077,
            "y": 1698
          },
          {
            "x": 1351,
            "y": 1718
          }
        ],
        "valueProb": 100
      },
      {
        "key": "cardType",
        "keyProb": 100,
        "value": "DC",
        "valuePos": [
          {
            "x": 437,
            "y": 445
          },
          {
            "x": 1316,
            "y": 433
          },
          {
            "x": 1318,
            "y": 541
          },
          {
            "x": 439,
            "y": 553
          }
        ],
        "valueProb": 100
      }
    ],
    "sliceRect": {
      "x0": 0,
      "y0": 8,
      "x1": 3110,
      "y1": 0,
      "x2": 3116,
      "y2": 2046,
      "x3": 0,
      "y3": 2139
    },
    "width": 3116
  },
  "Code": "noPermission",
  "Message": "You are not authorized to perform this operation."
}

错误码

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

变更历史

变更时间变更内容概要操作
2022-11-25API 内部配置变更,不影响调用查看变更详情
2021-08-17OpenAPI 入参发生变更查看变更详情