700
財經資訊
身份證識別__API介紹_文字識別_人工智能圖像類-阿裏雲
本頁麵主要介紹服務對應的接口和返回結果中的關鍵字段的含義,請在閱讀本頁麵之前,了解請求數據格式介紹,了解輸入輸出的通用數據格式。 此外,在本頁最後,附上了身份證服務調用的程序示例,以供參考。
請求接口
雲市場接口
- 請求方法: POST
- 請求url: 在雲市場搜索
印刷文字識別-身份證識別
,在API接口
中找到調用地址
數加接口
- 請求方法: POST
- 請求url: 打開管理控製台,接口名稱選擇
ocr_idcard
,查看請求地址
請求參數
參數名稱 | 參數類型 | 描述 | 默認值 |
---|---|---|---|
image | string | dataType為50, dataValue是base64編碼後的圖像數據 | 空字符串 |
configure | string | dataType為50, dataValue是json字符串,其中的具體參數字段參考後麵 | 空字符串 |
configure 參數的具體字段如下:
參數名稱 | 參數類型 | 描述 | 默認值 |
---|---|---|---|
side | string | 表示上傳圖片是身份證正麵/反麵圖像, “face” 表示正麵,”back”表示反麵 | 無 |
請求參數的POST請求body如下:
{
"inputs": [
{
"image": {
"dataType": 50, #50表示image的數據類型為字符串
"dataValue": "base64_image_string" #圖片以base64編碼的string
},
"configure": {
"dataType": 50,
"dataValue": "{
"side": "face" #身份證正反麵類型: face/back
}"
}
}]
}
返回結果格式
返回結果分為正麵和反麵兩種格式,正麵返回結果格式如下:
{
"outputs": [
{
"outputLabel": "ocr_id",
"outputMulti": {},
"outputValue": {
"dataType": 50,
"dataValue": "{
"address" : "浙江省杭州市餘杭區文一西路969號", #地址信息
"config_str" : "{\"side\":\"face\"}", #配置信息,同輸入configure
"name" : "張三", #姓名
"num" : "1234567890", #身份證號
"sex" : "男", #性別
"birth" : "20000101", #出生日期
"nationality" : "漢", #民族
"success" : true #識別結果,true表示成功,false表示失敗
}"
}
}]
}
每一個請求返回的結果都是一個json字符串,由dataValue關鍵詞可以索引到,主要有7個字段:
- address: 識別的地址信息, 類型為字符串
- config_str: 表示發送請求時候的配置字符串,為json字符串格式,表示輸入時候的配置參數, 類型為字符串
- name: 識別的身份證姓名, 類型為字符串
- num: 識別的身份證號碼, 類型為字符串
- sex: 識別的性別, 類型為字符串
- birth: 識別的出生日期, 類型為字符串
- nationality : 識別的民族, 類型為字符串
- success: 識別流程是否出現異常, false表示識別失敗,true表示識別成功, 類型為布爾型
反麵輸出結果格式如下:
{
"outputs": [
{
"outputLabel": "ocr_id",
"outputMulti": {},
"outputValue": {
"dataType": 50,
"dataValue": "{
"config_str" :
"{\"side\":\"back\"}",#配置信息,同輸入configure
"start_date" : "19700101", #有效期起始時間
"end_date" : "19800101", #有效期結束時間
"issue" : "杭州市公安局", #簽發機關
"success" : true #識別結果,true表示成功,false表示失敗
}"
}
}]
}
每個返回結果同樣存儲在以dataValue為關鍵詞所對應的鍵值對中,其中有5個字段:
- config_str: 和正麵字段含義一樣, 類型為字符串
- issue: 身份證簽發機關,類型為字符串
- start_date: 身份證有效期起始時間,類型為字符串
- end_date: 身份證有效期結束時間,類型為字符串
- success: 識別流程是否成功,類型為布爾型
程序示例
雲市場
在雲市場搜索印刷文字識別-身份證識別
,在API接口
中找到請求示例
數加平台
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.commons.codec.binary.Base64;
import org.json.JSONObject;
import org.json.JSONArray;
import org.json.JSONException;
public class IDcard {
/*
* 獲取參數的json對象
*/
public static JSONObject getParam(int type, JSONObject dataValue) {
JSONObject obj = new JSONObject();
try {
obj.put("dataType", type);
obj.put("dataValue", dataValue);
} catch (JSONException e) {
e.printStackTrace();
}
return obj;
}
/*
* 獲取參數的json對象
*/
public static JSONObject getParam(int type, String dataValue) {
JSONObject obj = new JSONObject();
try {
obj.put("dataType", type);
obj.put("dataValue", dataValue);
} catch (JSONException e) {
e.printStackTrace();
}
return obj;
}
public static void main(String[] args) {
String imgFile = "idcard.jpg";
String serviceURL = "your-service-url";
String akID = "your access key id";
String akSecret = "your access key secret";
// 對圖像進行base64編碼
String imgBase64 = "";
try {
File file = new File(imgFile);
byte[] content = new byte[(int) file.length()];
FileInputStream finputstream = new FileInputStream(file);
finputstream.read(content);
finputstream.close();
imgBase64 = new String(Base64.encodeBase64(content));
} catch (IOException e) {
e.printStackTrace();
return;
}
// 拚裝請求body的json字符串
JSONObject requestObj = new JSONObject();
try {
JSONObject configObj = new JSONObject();
JSONObject obj = new JSONObject();
JSONArray inputArray = new JSONArray();
configObj.put("side", configStr);
obj.put("image", getParam(50, imgBase64));
obj.put("configure", getParam(50, configObj.toString()));
inputArray.put(obj);
requestObj.put("inputs", inputArray);
} catch (JSONException e) {
e.printStackTrace();
}
String body = requestObj.toString();
//Sender代碼參考 https://help.aliyun.com/document_detail/shujia/OCR/ocr-api/sender.html
String result = Sender.sendPost(serviceURL, body, akID, akSecret);
System.out.println(result);
// 解析請求結果
try {
JSONObject resultObj = new JSONObject(result);
JSONArray outputArray = resultObj.getJSONArray("outputs");
String output = outputArray.getJSONObject(0).getJSONObject("outputValue").getString("dataValue"); // 取出結果json字符串
JSONObject out = new JSONObject(output);
if (out.getBoolean("success")) {
String addr = out.getString("address"); // 獲取地址
String name = out.getString("name"); // 獲取名字
String num = out.getString("num"); // 獲取身份證號
System.out.printf(" name : %s n num : %sn address : %sn", name, num, addr);
} else {
System.out.println("predict error");
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}
最後更新:2016-11-24 11:23:48
上一篇:
數據格式__API介紹_文字識別_人工智能圖像類-阿裏雲
下一篇:
駕駛證識別__API介紹_文字識別_人工智能圖像類-阿裏雲
已經授權子用戶管理某個負載均衡器的權限,但是在均衡器實例中添加/移除ECS服務器以及設置權重時提示沒有權限___負載均衡(SLB)授權問題_授權常見問題_訪問控製-阿裏雲
設置解析記錄時提示衝突的原因__網站解析_產品使用問題_雲解析-阿裏雲
RAM支持的ActionTrail操作和資源__控製用戶的訪問權限_用戶指南_操作審計-阿裏雲
如何獲取真實來源IP__常見問題_負載均衡-阿裏雲
查詢RDS地域和可用區信息__實例管理_API 參考_雲數據庫 RDS 版-阿裏雲
搜索集群__集群管理_用戶指南_容器服務-阿裏雲
遍曆全表操作__開發手冊_分布式關係型數據庫 DRDS-阿裏雲
阿裏雲發布新物種神龍雲服務器 媲美物理機性能的彈性雲服務器
阿裏雲發布Link物聯網平台
跨阿裏雲賬號RDS實時同步__實時同步_用戶指南_數據傳輸-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲