百度OCR文字識別的使用(Dynamic框架,請使用Embed Binary方式嵌入)

weixin_34138377發表於2017-10-30

背景

公司需求要對身份證掃描認證,在選用文字識別的時候挑了幾家最終選擇的百度的OCR。

簡介

基於業界領先的深度學習技術,提供對二代居民身份證、銀行卡、機動車駕駛證、機動車行駛證的識別服務

步驟

1.進入百度AI開放平臺。傳送門 http://ai.baidu.com/tech/ocr/idcard

2.點選控制檯,註冊或者登陸百度賬號。

3.下翻找到文字識別

1798026-d11a6fce04aa8bf3.png
89EB238C-594C-41E0-A4E1-7A1C20B5EE15.png

點選文字識別後進入可用服務列表你可以看到可用的服務和付費資訊。我用的都是免費的。


1798026-7dd91041d0df4fa7.png
8DBF9DDF-E09F-4E06-B3EA-1385A71F910B.png

然後進入重要的階段。

4.點選概覽裡面的建立應用

1798026-80f48096ab7a1286.png
B443F8B7-97E4-4B7C-9967-D76CB1799D66.png

然後填寫相應資訊。APP名稱、應用型別、介面選擇、應用平臺等。這些都是隨意填。
4.1應用包名要寫對切記。


1798026-d3db1a94227c30c5.png
B28E2424-DE2F-4AC2-B9E8-F2E66B90BF0A.png

完事後你會見到建立好的APP,API Key 和Secret Key以後會用到。


1798026-6a0856c4524c1741.png
3571BABF-E173-42ED-8637-D533A71F89A3.png
5.點選應用名稱進入
1798026-013dacd3bebda669.png
3E3B6845-121C-4999-AEC2-15B27811C805.png

然後檢視文件下載SDK進行除錯。注意Demo裡面有#error 警示程式碼,註釋掉就行。

6.除錯結束進行整合階段。文件中有詳細說明。這裡重點講一下(Dynamic框架,請使用Embed Binary方式嵌入)

PS 剛開始我也沒接觸Dynamic使用就百度了一些,生成動態庫的部落格,被坑了。
官方已經說明

①.如果只需要使用攝像頭直接引入三個framework即可

AipBase.framework
IdcardQuality.framework
AipOcrSdk.framework


1798026-717c051484b6440e.png
81E1B252-54E0-49FF-9796-B2B9AF09ED8A.png

編譯執行無錯誤,按照Demo裡面使用即可。

②.如果需要修改相機介面和和邏輯,可像demo工程一樣引入AipOcrSdk工程,新增為依賴。

  • 原專案結構圖示


    1798026-f756db5074ff7c46.png
    0FBEB165-633A-449E-9640-D436DFAF0532.png

    1798026-d44d8fb406d3d4b8.png
    9D7BF0DB-58A5-45FB-A3CB-CED5CF72C40C.png
  • 把Demo裡面的SDK複製到專案資料夾內(注意和主工程同級)


    1798026-b040ca42c53112c4.png
    57058C87-D60E-4B87-9D80-4BDFAAADB25C.png

    複製過後的


    1798026-31a6eb80c7960677.png
    7AE5B6C8-BD15-422F-BE74-1C240E23335D.png
  • File ->Add Files to "XXX"選擇如下圖加入


    1798026-ceab693ef86566fc.png
    A686067F-D9C3-4E01-9184-276AE7C9B5DD.png

    之後是這樣的 說明你對了


    1798026-2df8849dc8e35bab.png
    D0256145-CFF8-4BB5-90FC-B63572ABD71A.png
  • 來到主工程的TARGSTS
    1798026-1919037e43d32ca6.png
    DE03BF25-EE7D-44A7-9678-88ACEF652365.png

    新增那3個依賴庫
    這個可以直接新增
    1798026-0bc9f57f85fbe6e7.png
    9997D5A1-C29A-4FDE-BD72-DB56A58D3214.png

    另外兩個就不行了 ,搜尋無此庫。
    1798026-53412b20dd1f3fec.png
    C616C9BF-7D05-4C94-BE13-4CD954C98113.png

    點選Add Other
1798026-e13c856fd6eb1e2a.png
1E2C45EE-FEEC-4001-BFAA-0A39D1834416.png

搞定收工。

後記:當前版本是2.1.1 用著不錯 ,但仍有坑。

1.AipCaptureCardVC的回撥不給Image(不然就可以直接新增3個庫就行了)
2.AipOcrService開啟的掃描沒有邊界框,只有拍照識別。
3.嵌入式質量控制+雲端識別只支援身份證不支援銀行卡,且不走成功的回撥方法。
坑也是不少。

當然通過第二種整合方式我們可以修改原始碼來修改UI介面和程式碼邏輯。自行實現。

4.喜歡或者有幫助的請點贊。有問題的可以私信或評論,也可以直接扣我。QQ351795515

相關文章