APIX_身份證影象識別技術(附程式碼)
阿新 • • 發佈:2019-01-22
什麼是身份證影象識別
身份證識別應用要求文字清晰的大陸二代身份證,文字朝向為正向,影象清晰。同時,身份證號碼要求滿足國標編碼規範,否則不通過驗證。API支援支援圖片Base64編碼和圖片URL兩種方法,支援的影象格式有jpg、jpeg、gif、png和bmp格式,檔案大小在2M以內。
APIX 的身份證識別API,支援身份證正反面識別,其中cmd為idcardfront時,按正面識別,cmd為idcardback時,按反面識別。返回的資訊包括姓名、性別、身份證號碼、民族、地址,簽發機關和有效期等資訊。識別率高達92%。
注意事項
傳入的身份證圖片要求文字方向是正向的,部分手機拍照上傳識別的證件圖片,多為旋轉90度或者180度的身份證照片,導致無法識別。
輸出示例
姓名:謝*暢
性別:男
身份證號:330124××××××××9887
民族:漢
地址:廣東省汕頭市朝陽區光華路××街××號
簽發機關:北京市公安局海淀分局
有效期限:2010.05.26-2030.05.26
<span style="font-size:12px;">package com.apix.idcardrecog; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class IDCardRecog { public static String request(String httpUrl, String httpArg) { BufferedReader reader = null; String result = null; StringBuffer sbf = new StringBuffer(); try { URL url = new URL(httpUrl); HttpURLConnection connection = (HttpURLConnection) url .openConnection(); connection.setRequestMethod("POST"); connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); // 填入apix-key到HTTP header connection.setRequestProperty("apix-key", "0d758082ac574c4f5***c401ba85"); connection.setDoOutput(true); connection.getOutputStream().write(httpArg.getBytes("UTF-8")); connection.connect(); InputStream is = connection.getInputStream(); reader = new BufferedReader(new InputStreamReader(is, "UTF-8")); String strRead = null; while ((strRead = reader.readLine()) != null) { sbf.append(strRead); sbf.append("\r\n"); } reader.close(); result = sbf.toString(); } catch (Exception e) { e.printStackTrace(); } return result; } public static void main(String[] args) { //傳送 GET 請求 String httpUrl = "http://a.apix.cn/apixlab/idcardrecog/idcardurl"; String httpArg = "{\"cmd\": \"idcard_front\",\"imgurl\": \"http://images0.cnblogs.com/blog2015/51591/201506/151449465134350.jpg\"}"; String jsonResult = request(httpUrl, httpArg); System.out.println(jsonResult); } } </span>