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

這個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呢?
阿裡雲視覺開發中心
選擇 能力廣場-文字識别-身份證識别 選項,體驗身份證識别的功能。
官方提供了調用這個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來實作視窗化互動。