Android端身份證識別

2021-08-29 22:40:40 字數 1967 閱讀 5680

ocr android sdk提供了以下3種accesstoken管理方法.

此種身份驗證方案使用ak/sk獲得accesstoken。

雖然sdk對網路傳輸的敏感資料進行了二次加密,但由於ak/sk是明文填寫在**中,在移動裝置中可能會存在ak/sk被盜取的風險。有安全考慮的開發者可使用第二種授權方案。

此種身份驗證方案使用授權檔案獲得accesstoken,快取在本地。建議有安全考慮的開發者使用此種身份驗證方式。

此種身份驗證方案直接使用開發者提供的accesstoken,鑑於安全性考慮不推薦此方式,使用此模式將不能開啟身份證本地質量控制能力。

若開發者的應用有自行搭建的服務端,也可在自己的服務端進行token的獲取與管理,然後分配給移動客戶端使用。token的獲得可以參考api鑑權認證機制。此種授權方案在移動客戶端上沒有任何ak/sk資訊,風險係數低,但需要開發者自行管理token的獲取與分配,適合有條件的開發者使用。

首先需要在控制台建立測試應用,我們只是為了檢視效果,所以直接拿到ak以及sk即可。

1. 新增必要許可權

在工程androidmanifest.xml檔案中新增如下許可權:

2. 匯入ocr-ui依賴

3. 修改ocr-ui配置與主工程目錄一致即可

4. 新增依賴、匯入jar、放置so一氣呵成

5. 依據官方demo完成我們最後一步(基本拷貝)

首先進行初始化,初始化的方式如下:

private void initaccesstoken() 

@override

public void onerror(ocrerror ocrerror)

}, selfactivity);

}

剩下相關的,可以具體github檢視

6. 拓展 - 如何擷取拍攝身份證**的頭像呢?

看官方給出的文件說明,我們可以知道,他們識別出的內容都有乙個自己的座標點,那麼我們可以根據這點,進行曲線救國。

**如下:

int rectx = result.getaddress().getlocation().getwidth() + result.getaddress().getlocation().getleft() + 10;

int recty = result.getname().getlocation().gettop();

location location = result.getidnumber().getlocation();

int height = location.gettop() - recty - 20;

int width = location.getwidth() + location.getleft() - rectx + 40;

bitmap ocrbitmap = bitmapfactory.decodefile(filepath);

if (ocrbitmap != null)

效果圖如下:

移動端身份證識別

很多業務中都需要對身份證資訊進行登記,一般通過人眼看完在手工錄入或者是讀卡器刷卡的方式進行登記記錄,這兩種種登記的方式,由於身份證上的關鍵資訊也比較多,所以非常令人頭疼,針對這一情況,基於android ios平台的移動端身份證識別技術,可以通過智慧型手機拍照的方式對身份證進行識別,自動提取身份證上...

身份證識別web端呼叫

webservice 身份證ocr識別拓撲圖 主要特點功能 1.目前私有ocr識別軟體可識別身份證 銀行卡 名片 車牌號 行駛證 護照 駕駛證等20多種證件。2.識別時間快 識別一張證件的速度小於1秒,包含整網路交換過程也可在2秒內完成。3.支援多程序識別方式 可在客戶同一伺服器中部署多套服務版oc...

移動端證件 身份證識別

隨著時代的發展我們從前幾年的網際網路時代發展到現在的移動互聯時代。每個人出門都會帶各種證件特別是身份證,在很多時候都會用到,身份證識別的快慢直接影響整個業務流程的速度。於是基於ocr技術的的移動端身份證識別就孕育而生了。移動端身份證識別的特點 移動端身份證識別支援的平台 android和ios平台。...