智能多媒体服务

  • OCR身份证识别(idcard)

    最近更新时间:2019-08-26 18:48:56

    用户通过身份证识别接口idcard对存储在七牛云 bucket(支持华东、华北和华南 bucket)或 非七牛云 bucket 的身份证正反面图片进行智能识别,可得到身份证中姓名、性别、民族、住址和身份证号码等关键信息。目前支持的图片格式有 png、jpg 和 bmp。

    使用方式

    请求语法

    POST /v1/ocr/idcard  Http/1.1
    HOST: ai.qiniuapi.com
    Content-Type:application/json
    Authorization: Qiniu <AccessKey>:<Sign>
    
    {
        "data": {
            "uri": "http://oayjpradp.bkt.clouddn.com/age_gender_test.png"
        }
    }
    

    注意: 需要在 POST 请求的 head 部分添加七牛鉴权,以进行用户身份验证。

    请求字段说明:

    字段 取值 说明
    uri string 身份证图片链接

    响应语法

    身份正面反馈
    {
        "code": 0,
        "message": "",
        "result": {
            "uri": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQD...",
            "bboxes": [
                [[134,227],[419,227],[419,262],[134,262]],
                ...
                [[115,50],[115,100],[232,100],[232,50]]
            ],
            "type": 0,
            "res": {
                "住址": "河南省xx市芙蓉巷xx胡同x号",
                "公民身份号码": "41270219970512XXXX",
                "出生": "199x年xx月xx日",
                "姓名": "张xx",
                "性别": "女",
                "民族": "汉"
            }
        }
    }
    
    身份证背面反馈
    {
        "code": 0,
        "message": "",
        "result": {
            "uri": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQD...",
            "bboxes": [
                [[440,562],[440,611],[854,611],[854,562]],
                [[427,478],[427,531],[854,531],[854,478]]
            ],
            "type": 1,
            "res": {
                "有效期限","2014.05.05-2024.05.05",
                "签发机关","项城市公安局"
            }
        }
    }
    
    

    返回字段说明:

    字段 取值 说明
    code int 0:表示正确,非0返回,除非具体api特别说明,其他请求失败详情参考code字段返回值HTTP错误码列表
    message string 结果描述信息
    uri string 截取原图中身份证区域后的图片 base64 编码
    bboxes list[4,2] 返回的图片中所有的文本框位置,为顺时针/逆时针方向旋转的任意四边形[[x1,y1],[x2,y2],[x3,y3],[x4,y4]]
    type int 身份证正反面标识,0:正面,1:背面
    res map[string]string 识别后信息结构化的结果
    res[姓名] string 姓名
    res[性别] string 性别
    res[民族] string 民族
    res[出生] string 出生
    res[住址] string 住址
    res[公民身份号码] string 身份证号
    res[有效期限] string 有效期限
    res[签发机关] string 签发机关

    code字段返回值

    code 取值 说明
    0 success 请求成功。
    非0 请求失败 除非具体api特别说明,其他请求失败会以http code和具体的错误提示表明。

    HTTP错误码列表

    错误码 取值 说明
    400 Bad Requests 返回的error信息给出具体提示,包括:
    1. 请求格式不对;
    2. 图片不能下载;
    3. 图片格式不支持等信息。
    401 unauthorized 鉴权失败,失败原因包括:
    1. 没有鉴权头部;
    2. 生成的鉴权头部不正确。
    404 Not Found 请求资源不存在,具体出错信息提示主要包括:
    (1)请求path错误;
    (2)资源获取不到。
    599 Internal Error 服务端错误,如遇此错误,请将完整错误信息(包括所有的HTTP响应头部)提交工单 给我们。

    审核文件限制

    本功能对于能处理的文件有一些限制。

    图片文件的限制:

    1. 图片大小大于10M不能处理;
    2. 图片尺寸大于4999x4999,小于32x32不能处理;
    3. 图片纬度不等于3不能处理;
    4. 目前支持的图片格式有 png、jpg 和 bmp。

    服务价格

    总调用量P 费用
    单位:万张 单价(元/百张)
    0 < P ≤ 1 1.2
    1 < P ≤ 5 0.96
    5 < P ≤ 10 0.78
    10< P ≤ 50 0.66
    50< P ≤ 100 0.6
    P > 100 0.54

    计费示例

    某公司某次使用七牛云ocr身份证识别服务,共发起50万张请求,
    则该公司这次使用七牛云ocr身份证识别服务产生的总费用为:

    确定的结果产生费用:1.2元/百张 * 1万张 + 0.96元/百张 * (5-1)万张 + 0.78元/百张 * (10-5)万张 + 0.66元/百张 * (50-10)万张= 3534 元

    总计费用:3534 元

    代码示例

    注意

    • 运行方法:python OcrSariIdCard.py <uri>
    • 代码中需填入账号的'ak'、'sk'

    OCR身份证识别(OcrSariIdCard.py)

    # -*- coding: utf-8 -*-
    from qiniu import Auth, QiniuMacAuth
    import requests, json, sys
    
    url = 'http://ai.qiniuapi.com/v1/ocr/idcard'
    
    access_key = '<ak>'
    secret_key = '<sk>'
    
    auth = QiniuMacAuth(access_key, secret_key)
    
    body = {
        "data": {
            "uri": "<uri>"
        }
    }
    
    body["data"]["uri"] = sys.argv[1]
    
    token = "Qiniu " + auth.token_of_request("POST", "ai.qiniuapi.com", url, "", content_type='application/json', body = json.dumps(body))
    r = requests.post(url, data=json.dumps(body), headers={'Authorization': token, 'Content-Type': 'application/json'})
    
    print json.dumps(json.loads(str(r.headers).replace("'", '"')), indent=4, ensure_ascii=False)
    print json.dumps(json.loads(r.text), indent=4, ensure_ascii=False)
    

    注意

    • 调用命令:python OcrSariIdCard.py http://oayjpradp.bkt.clouddn.com/age_gender_test.png
    • 一段是响应头headers,请在反馈问题时提供X-Reqid字段
    • 第二段是响应body,即审核结果,字段解释参考返回报文
    {
        "Content-Length": "77",
        "Access-Control-Allow-Headers": "Origin, X-Requested-With, Content-Type, Accept",
        "Content-Type": "application/json",
        "Server": "nginx",
        "X-Log": "COMMON-GATE:2595;AI:2596",
        "Connection": "keep-alive",
        "X-Reqid": "gmgAABVfepDiDH0V, gmgAABVfepDiDH0V",
        "Date": "Fri, 25 Jan 2019 09:20:16 GMT",
        "Access-Control-Allow-Origin": "0",
        "Access-Control-Allow-Methods": "GET, POST, OPTIONS",
        "X-Resp-Code": "200"
    }
    {
        "message": "",
        "code": 0,
        "result": {
            "res": null,
            "type": 0,
            "uri": "",
            "bboxes": null
        }
    }
    
    以上内容是否对您有帮助?
  • Icon free helper
    Close