本文介紹了調用圖片同步檢測接口識別結構化卡證OCR的方法。結構化卡證OCR能夠識別證件類圖像中的文字并以結構化的方式返回文字內容。使用該場景的前提是您知道要檢測的圖像包含哪種類型的證件。
結構化卡證OCR目前支持識別以下卡證類型:營業執照、身份證(人像面和國徽面)、護照、銀行卡、駕駛證(正反面)、行駛證(正反面)、車牌、車輛VIN碼、戶口簿戶主頁、戶口簿常住人口頁。
使用說明
業務接口:/green/image/scan,表示圖片同步檢測。
您可以調用該接口創建圖片同步檢測任務。關于如何構造HTTP請求,請參見請求結構;您也可以直接選用已構造好的HTTP請求,更多信息,請參見SDK概覽。
計費信息:
該接口為收費接口。關于計費方式,請參見內容安全產品定價。
檢測超時:
同步檢測允許的最長檢測時間是6秒,如果檢測在該時間限制內沒有完成,系統會強制返回超時錯誤碼。如果您對實時性要求不高,可以選擇異步檢測,其他情況下請選擇同步檢測,同步檢測接口的調用相對簡單些。對于同步檢測接口的調用,建議您將超時時間設置為6秒。
返回結果:
同步檢測請求一般會在一秒內返回結果,但在一些特殊場景(例如系統繁忙導致堆積嚴重、圖片較大、含有OCR內容較多等),耗時可能會增加。OCR的處理速度依賴圖片中文字的字數,字數越多處理時間越長。如果您檢測的場景中文字較多,推薦您使用圖片異步檢測接口。
圖片要求:
圖片鏈接支持以下協議:HTTP和HTTPS。
圖片支持以下格式:PNG、JPG、JPEG、BMP、GIF、WEBP。
圖片大小限制為20 MB以內(適用于同步和異步調用),高度或者寬度不能超過30,000像素(px),且圖像總像素不超過2.5億(px)。
說明其中,GIF格式的圖片,圖像總像素不超過4,194,304(px),高度或者寬度不能超過30,000像素(px)。
圖片下載時間限制為3秒內,如果下載時間超過3秒,返回下載超時。
圖片像素建議不低于256*256(px),像素過低可能會影響識別效果。
圖片檢測接口的響應時間依賴圖片的下載時間。請保證被檢測圖片所在的存儲服務穩定可靠,建議您使用阿里云OSS存儲或者CDN緩存等。
QPS限制
本接口的單用戶QPS限制為10次/秒。超過限制,API調用會被限流,這可能會影響您的業務,請合理調用。
請求參數
名稱 | 類型 | 是否必須 | 示例值 | 描述 |
bizType | String | 否 | default | |
scenes | StringArray | 是 | ["ocr"] | 指定檢測場景,取值:ocr。 |
tasks | JSONArray | 是 | 指定檢測對象,JSON數組中的每個元素是一個檢測任務結構體。最多支持100個元素,即每次提交100條內容進行檢測,支持100個元素的前提是需要將并發任務調整到100個以上。關于每個元素的具體結構描述,請參見task。 | |
extras | JSONObject | 是 | {"card":"bank-card"} | 指定要識別的證件類型,格式為
|
名稱 | 類型 | 是否必須 | 示例值 | 描述 |
dataId | String | 否 | test_data_xxxx | 數據ID。需要保證在一次請求中所有的ID不重復。 |
url | String | 是 | https://aliyundoc.com/test_image_xxxx.png | 檢測對象的URL。
|
返回數據
名稱 | 類型 | 示例值 | 描述 |
code | Integer | 200 | 錯誤碼,和HTTP狀態碼一致。 更多信息,請參見公共錯誤碼。 |
msg | String | OK | 請求信息的響應消息。 |
dataId | String | test_data_xxxx | 檢測對象對應的數據ID。 說明 如果在檢測請求參數中傳入了dataId,則此處返回對應的dataId。 |
taskId | String | img5A@k7a@B4q@6K@d9nfKgOs-1s**** | 檢測任務的ID。 |
url | String | https://aliyundoc.com/test_image_xxxx.png | 檢測對象的URL。
|
extras | JSONObject | {"card":"bank-card"} | 額外調用參數,對應檢測請求參數中的extras。 說明 該參數可能會被調整,目前請勿依賴該參數的返回值。 |
results | Array | 返回結果。調用成功時(code=200),返回結果中包含一個或多個元素。每個元素是個結構體,具體結構描述請參見result。 |
名稱 | 類型 | 示例值 | 描述 |
scene | String | ocr | 檢測場景。取值:ocr。 |
label | String | ocr | 檢測結果的分類。取值:
|
suggestion | String | review | 建議用戶執行的操作。取值:
|
rate | Float | 99.91 | 在OCR圖文識別場景中,可以不用關注該返回值。 |
businessLicenseInfo | Object | 識別出來的營業執照信息。關于具體結構描述,請參見businessLicenseInfo。 說明 只有在請求參數extras中指定了 | |
idCardInfo | Object | 識別出來的身份證信息。關于具體結構描述,請參見idCardInfo。 說明 只有在請求參數extras中指定了 | |
passportInfo | Object | 識別出來的護照信息。關于具體結構描述,請參見passportInfo。 說明 只有在請求參數extras中指定了 | |
bankCardInfo | Object | 識別出來的銀行卡信息。關于具體結構描述,請參見bankCardInfo。 說明 只有在請求參數extras中指定了 | |
driverLicenseFrontInfo | Object | 識別出來的駕駛證正面信息。關于具體結構描述,請參見driverLicenseFrontInfo。 說明 只有在請求參數extras中指定了 | |
driverLicenseBackInfo | Object | 識別出來的駕駛證反面信息。關于具體結構描述,請參見driverLicenseBackInfo。 說明 只有在請求參數extras中指定 | |
vehicleLicenseFrontInfo | Object | 識別出來的行駛證正面信息。關于具體結構描述,請參見vehicleLicenseFrontInfo。 說明 只有在請求參數extras中指定了 | |
vehicleLicenseBackInfo | Object | 識別出來的行駛證反面信息。關于具體結構描述,請參見vehicleLicenseBackInfo。 說明 只有在請求參數extras中指定了 | |
vehicleNumInfo | Object | 識別出來的車牌信息。關于具體結構描述,請參見vehicleNumInfo。 說明 只有在請求參數extras中指定了 | |
vehicleVinInfo | Object | 識別出來的車輛VIN碼信息。關于具體結構描述,請參見vehicleVinInfo。 說明 只有在請求參數extras中指定了 | |
ocrCardInfo | Object | 識別出來的其他卡證的OCR信息。關于具體結構描述,請參見ocrCardInfo。 說明 只有在請求參數extras中指定了以下內容,才會返回相應結果:
|
名稱 | 類型 | 示例值 | 描述 |
companyName | String | xxx技術有限公司 | 公司名稱。 |
companyType | String | 有限責任公司 | 公司類型。 |
legalPerson | String | 張XX | 企業法人。 |
establishDate | String | 2000年01月01日 | 注冊日期。 |
vaildPeriod | String | 2030年01月01日 | 營業終止日期。 |
address | String | xxx | 地址。 |
capital | String | xxx | 注冊資本。 |
business | String | 計算機軟硬件開發 | 經營范圍。 |
copy | Boolean | false | 是否是副本。取值:
|
copyId | String | xxx | 副本號。 |
certSN | String | xxx | 證照編號。 |
creditCode | String | xxx | 統一社會信用代碼。 |
organizationCode | String | xxx | 組織機構代碼。 |
taxCode | String | xxx | 稅務登記號。 |
companySN | String | xxx | 公司編號。 |
composition | String | xxx | 組成形式。 |
paidInCapital | String | xxx | 實收資本。 |
名稱 | 類型 | 示例值 | 描述 |
name | String | 張XX | 姓名。 |
nationality | String | 漢 | 民族。 |
number | String | 5****************9 | 身份證號。 |
birth | String | 2022-01-01 | 出生日期。格式:YYYY-MM-DD。 |
address | String | xxx | 住址。 |
authority | String | xxx | 簽發機構。 |
startDate | String | 2022-06-30 | 有效期開始日期。格式:YYYY-MM-DD。 |
endDate | String | 2032-06-30 | 有效期結束日期。格式:YYYY-MM-DD。 說明 該字段可能返回以下值:長期。 |
angle | Float | 96.2 | 證件順時針旋轉的角度。 |
copy | Boolean | false | 身份證照片是否是復印件。取值:
說明 默認不返回該字段。如果需要返回,請聯系商務經理。 |
remake | Boolean | false | 身份證照片是否是翻拍。取值:
說明 默認不返回該字段。如果需要返回,請聯系商務經理。 |
type | String | front | 證件類型。取值:
|
numberValid | Boolean | true | 證件號碼是否合法。取值:
|
名稱 | 類型 | 示例值 | 描述 |
authority | String | xxx | 發證機關。 |
birthDate | String | 2020年01月01日 | 出生日期。 |
birthDay | String | 01月01日 | 生日。 |
birthPlace | String | xxx | 出生地。 |
birthPlaceRaw | String | xxx | 出生地(字母)。 |
expireDate | String | 2030年01月01日 | 到期時間。 |
expireDay | String | 01月01日 | 到期日。 |
issueDate | String | 2022年01月01日 | 發證日期。 |
issuePlace | String | xxx | 發證地址。 |
issuePlaceRaw | String | xxx | 發證地址(字母)。 |
name | String | 王xx | 姓名。 |
cnName | String | xxx | 中文名稱。 |
cnNameRaw | String | xxx | 中文名稱(字母)。 |
personId | String | 5****************9 | 身份ID。 |
srcCountry | String | 中國 | 國籍。 |
type | String | xxx | 類型。 |
line0 | String | xxx | 底部第一行。 |
line1 | String | xxx | 底部第二行。 |
surname | String | 王 | 姓。 |
givenName | String | xx | 名。 |
名稱 | 類型 | 示例值 | 描述 |
bankCardNum | String | 622576888888**** | 銀行卡號。 |
名稱 | 類型 | 示例值 | 描述 |
name | String | 張XX | 姓名。 |
number | String | 123xxxxxxxxxxxxxxxx | 駕駛證號。 |
address | String | xx省xx市xx區xx街道xx號 | 住址。 |
vehicleType | String | C1 | 準駕車型。 |
validStartDate | String | 2022-01-01 | 有效期開始時間,格式:YYYY-MM-DD。 |
validEndDate | String | 2028-01-01 | 有效期截止時間,格式:YYYY-MM-DD。 |
名稱 | 類型 | 示例值 | 描述 |
archiveNum | String | xxx | 檔案編號。 |
名稱 | 類型 | 示例值 | 描述 |
plateNum | String | 陜xxxxxx | 車牌號。 |
vehicleType | String | 小型普通客車 | 車輛類型。 |
owner | String | 張XX | 所有者名字。 |
useCharacter | String | 非營運 | 車輛使用性質。 |
address | String | xx省xx市xx區xx街道xx號 | 住址。 |
model | String | 東風日產牌ABCxxxxx | 車輛品牌。 |
vin | String | ABCxxxxxxxx1234 | 車輛識別代號。 |
engineNum | String | 12xxxxA | 發動機號碼。 |
registerDate | String | 2022-01-01 | 注冊日期,格式:YYYY-MM-DD。 |
issueDate | String | 2022-01-01 | 發證日期,格式:YYYY-MM-DD。 |
名稱 | 類型 | 示例值 | 描述 |
plateNum | String | 陜Axxxxx | 車牌號。 |
fileNum | String | 12345678**** | 檔案編號。 |
appprovedPassengerCapacity | Integer | xxx | 核定載人數。 |
grossMass | String | xxx | 總質量。 |
unladenMass | String | xxx | 整備質量。 |
approvedLoad | String | xxx | 核定載質量。 |
tractionMass | String | xxx | 準牽引總質量。 |
inspectionRecord | String | 1 | 檢驗記錄。 |
overallDimension | Object | 車輛輪廓尺寸信息。關于具體結構描述,請參見下表overallDimension。 |
名稱 | 類型 | 示例值 | 描述 |
length | Integer | 4000 | 車輛長度,單位:毫米。 |
width | Integer | 2000 | 車輛寬度,單位:毫米。 |
height | Integer | 1000 | 車輛高度,單位:毫米。 |
名稱 | 類型 | 示例值 | 描述 |
num | String | 陜Axxxxx | 車牌號。 |
rate | Float | 99.01 | 車牌號的置信度,取值范圍:0~100。值越高表示識別出的車牌號越可信。 |
vehicleType | String | 小型汽車 | 車牌類型,取值:
|
vehicleTypeRate | Float | 99.01 | 車牌類型的置信度,取值范圍:0~100。值越高表示識別出的車牌類型越可信。 |
名稱 | 類型 | 示例值 | 描述 |
vin | String | ABCxxxxxxxx1234 | VIN號。 |
ocrCardInfo
表 14. 戶口簿戶主頁信息 名稱
類型
示例值
描述
locationNumber
String
xxx
地段號。
issueDate
String
2022年01月01日
簽發日期。
householdType
String
居民戶口
戶別。
houseHolder
String
張XX
戶主姓名。
address
String
廣西xxx
住址。
community
String
xxx
戶主社區。
householdNumber
String
xxx
戶號。
undertaker
String
xxx
承辦人簽章。
type
String
household-head
卡證的類型,取值固定為household-head,表示戶口簿戶主頁。
表 15. 戶口簿常住人口頁信息 名稱
類型
示例值
描述
occupation
String
糧農
職業。
migrationDate1
String
2022年01月01日
何時由何地遷來本址。
idNumber
String
5****************9
身份證編號。
education
String
初中
文化程度。
birthPlace
String
xxx
出生地。
servicePremises
String
xxx
服務處所。
householdNumber
String
xxx
戶號。
hometown
String
四川成都
籍貫。
name
String
張XX
姓名。
formerName
String
xxx
曾用名。
maritalStatus
String
未婚
婚姻狀況。
nation
String
漢族
民族。
otherAddress
String
xxx
本市其他住址。
birthday
String
2020年01月01日
出生日期。
militaryService
String
xxx
兵役狀況。
relationTo
String
戶主
與戶主關系。
religion
String
xxx
宗教信仰。
bloodType
String
B
血型。
registerDate
String
2023年02月06日
登記日期。
height
String
xxx
身高。
migrationDate2
String
xxx縣xxx鄉xxx村xx遷來
何時何地遷來本市。
undertaker
String
xxx
承辦人簽章。
type
String
household-resident
卡證的類型,取值固定為household-resident,表示戶口簿常住人口頁。
示例
請求示例
以銀行卡識別為例(extras
傳入{"card": "bank-card"}
)。如果需要識別其他類型的卡證,傳入對應的卡證類型即可,具體請參見請求參數。
http(s)://[Endpoint]/green/image/scan
&<公共請求參數>
{
"scenes": [
"ocr"
],
"extras": {
"card": "bank-card"
},
"tasks": [
{
"dataId": "test_data_xxxx",
"url": "https://aliyundoc.com/test_image_xxxx.png"
}
]
}
正常返回示例
銀行卡信息
{ "code": 200, "data": [ { "code": 200, "dataId": "test_data_xxxx", "extras": { }, "msg": "OK", "results": [ { "bankCardInfo": { "bankCardNum": "622576888888****" }, "label": "ocr", "rate": 99.91, "scene": "ocr", "suggestion": "review" } ], "taskId": "img5A@k7a@B4q@6K@d9nfKgOs-1sWeLu", "url": "https://aliyundoc.com/test_image_xxxx.png" } ], "msg": "success", "requestId": "1a2faf93-dd41-47d8-95ad-bdf6226540e4" }
戶口簿戶主頁信息
{ "msg": "OK", "code": 200, "data": [ { "msg": "OK", "code": 200, "dataId": "test_data_xxxx", "extras": { }, "results": [ { "rate": 99.91, "suggestion": "review", "label": "ocr", "ocrCardInfo": { "houseHolder": "居民戶口", "address": "廣西xxxxxx", "type": "household-head", "locationNumber": "", "issueDate": "廣西xxx", "community": "", "householdNumber": "", "householdType": "xxx", "undertaker": "漢" }, "scene": "ocr" } ], "taskId": "img5EZCRaOpH8G4QFbNFLMf9p-1sWeKV", "url": "https://aliyundoc.com/test_image_xxxx.png" } ], "requestId": "6162F805-A6B9-446C-9B7C-5F26CFB03D89" }
戶口簿常住人口頁信息
{ "msg": "OK", "code": 200, "data": [ { "msg": "OK", "code": 200, "dataId": "test_data_xxxx", "extras": { }, "results": [ { "rate": 99.91, "suggestion": "review", "label": "ocr", "ocrCardInfo": { "birthday": "2020年01月01日", "hometown": "四孔成都", "occupation": "糧農", "education": "初中", "nation": "漢族", "militaryService": "", "relationTo": "戶主", "type": "household-resident", "idNumber": "5****************9", "bloodType": "", "householdNumber": "", "religion": "", "undertaker": "xxx", "birthPlace": "xx省xx", "migrationDate1": "xxx縣xxx鄉xxx村xx遷來", "migrationDate2": "", "otherAddress": "", "servicePremises": "", "name": "xx", "formerName": "", "maritalStatus": "", "registerDate": "2023年02月06日", "height": "" }, "scene": "ocr" } ], "taskId": "img5A@k7a@B4q@6K@d9nfKgOs-1sWeLu", "url": "https://aliyundoc.com/test_image_xxxx.png" } ], "requestId": "AE11413F-1AE4-4147-8807-2F7673D67D72" }