天天看點

AI訓練營第二天——身份證識别系統

身份證識别系統

身份證識别系統(RecognizeIdentityCard)是阿裡雲視覺系統中提供的一個服務,通過掃描身份證照片來得到圖檔上的文本資訊,并傳回給使用者。在網際網路時代,這項服務無疑為個人資訊識别提供了很大的友善。

示例

AI訓練營第二天——身份證識别系統

這個api會傳回一個json檔案,記錄了身份證上的各個資訊

"RequestId": "F60CC98C-B8E9-4288-839E-2C4A201FEEA4",
    "Data": {
        "FrontResult": {
            "Address": "杭州市西湖區萬塘路黃龍時代廣場",
            "FaceRectVertices": [
                {
                    "X": "338.63800048828125",
                    "Y": "190.12008666992188"
                },
                {
                    "X": "337.53411865234375",
                    "Y": "117.78894805908203"
                },
                {
                    "X": "403.37005615234375",
                    "Y": 116.7841796875
                },
                {
                    "X": "404.47393798828125",
                    "Y": "189.11532592773438"
                }
            ],
            "FaceRectangle": {
                "Center": {
                    "X": "371.0040283203125",
                    "Y": "153.45213317871094"
                },
                "Angle": "-0.8743622899055481",
                "Size": {
                    "Height": "72.339553833007812",
                    "Width": "65.843612670898438"
                }
            },
            "CardAreas": [
                {
                    "X": 62,
                    "Y": 64
                },
                {
                    "X": 456,
                    "Y": 60
                },
                {
                    "X": 459,
                    "Y": 281
                },
                {
                    "X": 65,
                    "Y": 286
                }
            ],
            "Gender": "女",
            "Nationality": "漢",
            "Name": "支小寶",
            "IDNumber": "330106200503287127",
            "BirthDate": "20050326"
        }
    }
}           

那麼,如何調用這個強大的api呢?

AI訓練營第二天——身份證識别系統

阿裡雲視覺開發中心

選擇 能力廣場-文字識别-身份證識别 選項,體驗身份證識别的功能。

AI訓練營第二天——身份證識别系統

官方提供了調用這個api的文檔:

身份證識别官方文檔

1、開通身份證識别

身份證識别首頁

2、開通oss服務

對象存儲服務(Object Storage Service,OSS)是一種海量、安全、低成本、高可靠的雲存儲服務,适合存放任意類型的檔案。容量和處理能力彈性擴充,多種存儲類型供選擇,全面優化存儲成本。

阿裡雲對象存儲服務

3、使用python SDK 調用API

推薦使用python3.6版本

#!/usr/bin/env python
#coding=utf-8
import oss2
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.acs_exception.exceptions import ClientException
from aliyunsdkcore.acs_exception.exceptions import ServerException
from aliyunsdkocr.request.v20191230.RecognizeIdentityCardRequest import RecognizeIdentityCardRequest
import json

info = open('myinfo.json','r')
_json = json.load(info)
info.close()

auth = oss2.Auth(_json['accesskey'], _json['secret'])
bucket = oss2.Bucket(auth,'http://oss-cn-shanghai.aliyuncs.com','current-cloud-oss')
bucket.create_bucket(oss2.models.BUCKET_ACL_PRIVATE)


try:
    bucket.put_object_from_file('identCard/sfz.jpg', 'sfz.jpg')
except Exception as e:
    print(e)
    exit()


client = AcsClient(_json['accesskey'], _json['secret'], 'cn-shanghai')

request = RecognizeIdentityCardRequest()
request.set_accept_format('json')

request.set_ImageURL("https://bucket.oss-cn-shanghai.aliyuncs.com/identCard/sfz.jpg?Content-Typr=image/jpeg")
request.set_Side("face")

response = client.do_action_with_exception(request)

print(str(response, encoding='utf-8'))
           

通過對象存儲sdk将圖檔上傳到oss中,再通過調用身份證識别方法來擷取資訊,再輔以pyside,pyqt等GUI來實作視窗化互動。

繼續閱讀