十行 Python 程式碼就提取了韋小寶的身份證資訊!
記得以前有個廣告詞叫:“學好數理化,走遍天下都不怕”,感覺應該再加一句:“帶上身份證”,本文我們看一下如何使用 Python 提取身份證資訊。
實現方式
實現方式大致可以分為兩種:
-
自己造輪子,如:使用 OpenCV 等自己編碼實現,該方式所有功能都需自己來實現,比較耗時耗力,優點是更靈活一些
-
使用現成的輪子,如:百度雲,平臺已經實現好了核心功能,並對外提供了 API 介面,我們直接呼叫介面即可,該方式省時省力,但靈活性可能差一些
實現過程
因為我們要實現的功能也比較簡單,這裡就用第二種方式來演示一下,下面簡單看一下實現過程。
SDK 安裝
百度雲 SDK 對多種語言提供了支援,這裡我們安裝 Python 版的 SDK,使用 pip install baidu-aip 命令即可,SDK 目錄結構如下:
├── README.md ├── aip // SDK 目錄 │ ├── __init__.py // 匯出類 │ ├── base.py // aip 基類 │ ├── http.py // http 請求 │ └── ocr.py //OCR └── setup.py // setuptools 安裝
建立應用
SDK 安裝好後,我們接著需要建立應用了,這裡需要一個百度賬號或百度雲賬號,如果沒有的話自己註冊一個即可,登入及註冊地址為: https://login.bce.baidu.com/?redirect=http%3A%2F%2Fcloud.baidu.com%2Fcampaign%2Fcampus-2018%2Findex.html ,具體過程與 車牌識別 基本類似,如果不清楚的話,可以看一下車牌識別這篇文章。
具體實現
我們先找一張身份證圖片,如圖所示:
接著看一下程式碼實現,首先建立 AipOcr,AipOcr 是 OCR 的 Python SDK 客戶端,程式碼實現如下:
# 自己的 APPID AK SK APP_ID = '自己的 App ID' API_KEY = '自己的 Api Key' SECRET_KEY = '自己的 Secret Key' client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
上面三個引數也可以參照 車牌識別 中的介紹。
資訊的提取有普通和高精度兩種模式,普通模式程式碼實現如下:
# 開啟並讀取檔案內容 fp = open("card.jpg", "rb").read() res = client.basicGeneral(fp) # 普通 # 遍歷結果 for tex in res["words_result"]: row = tex["words"] print(row)
輸出結果如下:
姓名韋小寶 性別男民族漢 出生1654年12月20日 住址北京市東城區景山前街4號 紫禁城敬事房 公民身份證號碼112441654122日2438
再來試一下高精度模式,程式碼實現如下:
# 開啟並讀取檔案內容 fp = open("card.jpg", "rb").read() res = client.basicAccurate(fp) # 高精度 # 遍歷結果 for tex in res["words_result"]: row = tex["words"] print(row)
輸出結果如下:
姓名韋小寶 性別男民族漢 出生1654年12月20日 住址北京市東城區景山前街4號 紫禁城敬事房 公民身份證號碼11204416541220243X
通過輸入結果我們可以看到:高精度模式提取了正確的身份證號碼,普通模式提取的身份證號碼是有一些誤差的。
總結
本文我們使用 Python 結合百度雲介面幾行程式碼就提取了身份證資訊,其實除了身份證資訊也可以提取其他卡片資訊,比如銀行卡資訊等,有興趣的可以試一下。
後記
近期有很多朋友通過私信諮詢有關Python學習問題。為便於交流,點選藍色自己加入討論解答資源基地
相關文章
- 身份證資訊
- 微信小程式身份證識別微信小程式
- 身份證真偽查詢介面、身份證實名認證一行python程式碼即可實現,實時資料Python
- C++身份核驗介面程式碼、身份證OCR、身份證實名認證APIC++API
- 十行Python程式碼搞定圖片中的物體檢測Python
- 七牛雲:呼叫七牛OCR介面,幾行程式碼識別身份證資訊行程
- 使用捕獲 獲取身份證號的資訊
- 增強版實名認證介面-Java身份證實名認證介面程式碼-身份認證Java
- PHP 驗證身份證號碼PHP
- python - 驗證身份證合法性Python
- 小程式獲取帶有分享者資訊的小程式碼
- app直播原始碼,登入時輸入驗證碼、簡訊驗證身份APP原始碼
- Python 使用xpath爬蟲查詢身份證資訊和手機號資訊並寫入Excel表格Python爬蟲Excel
- 女神把微信訊息撤回後好慌,Python幾十行程式碼輕鬆檢視撤回訊息!Python行程
- javascript身份證號碼校驗JavaScript
- python自學,小知識程式碼,能飛天的小程式碼Python
- excel身份證號提取年齡公式 身份證號碼提取精確年齡的公式Excel公式
- 朋友股票虧慘了,我一怒用Python爬取了證券最新資料Python
- 小程式簡訊驗證碼登入,1分鐘實現小程式發簡訊功能,藉助雲開發10行程式碼行程
- L1-016 查驗身份證 pythonPython
- 免費實名認證介面python語言-身份核驗-身份證二、三要素Python
- 身份證號碼在excel中怎麼完整顯示 excel身份證數字變成了小數點+e+17怎麼辦Excel
- [Python]實現簡訊驗證碼的傳送Python
- 支付寶小程式(後臺)---獲取授權和使用者資訊
- Java身份證實名認證、身份證識別介面讓您認證任性的“懶”Java
- 匹配身份證號碼正規表示式
- 直播app原始碼,進行身份驗證時,檢測身份證位數夠不夠APP原始碼
- 驗證手機、郵箱、漢字、身份證、URL、IP地址等java程式碼工具類Java
- duang~NBA資訊小程式
- 恕我直言,Python - http.client接入簡訊驗證碼,看這一篇就夠了PythonHTTPclient
- 提供一箇中國身份證號碼判斷的類
- PostgreSQL版的身份證號碼15位轉18位SQL
- 身份認證的盡頭竟然是無密碼 ?密碼
- Spring Boot中的Firebase身份驗證+Firestore整合原始碼Spring BootREST原始碼
- 敏感資訊打碼就安全了嗎?
- python採集淘寶天貓商品列表資料介面程式碼展示Python
- 大陸居民身份證、港澳臺居民居住證 Composer 包:驗證、獲取基本資訊以及生成假資料
- 影片直播app原始碼,姓名,身份證input驗證過濾APP原始碼