一個小需求---實現車牌識別。python
目前有兩個想法算法
調雲在線的接口或者使用SDK作開發(配置環境和編譯第三方庫很麻煩,固然使用python能夠避免這些問題)json
本身實現車牌識別算法(複雜)app
!curl
一開始準備使用百度雲文字識別C++ SDK來作,發現須要準備curl、jsoncpp和OpenCV,而且curl和jsoncpp須要本身編譯,很麻煩,因此換用了python來作,真的是順暢簡單。ui
安裝python環境(我用python3.7)編碼
python官網下載地址:https://www.python.org/downloads/release/python-374/ 建議直接下載安裝版installer(看對系統和位數)url
cmdspa
python --version3d
百度雲SDK下載安裝及建立應用
參考https://cloud.baidu.com/doc/OCR/s/pjwvxzmtc文檔,安裝python SDK
查看pip版本(python環境自帶,可是要注意版本)
pip --version
pip install -U pip
安裝baidu-aip
pip install baidu-aip
登陸百度雲(沒帳號註冊一下)
編碼調接口,實現需求
python代碼實現
''' Statement 1. using the file 2. prepare a image path and call func "get_license_plate(filePath)" 3. you can get a json object 4. get the info from the pbject example : { "log_id": 3583925545, "words_result": { "color": "blue", "number": "蘇HS7766" } } ''' from aip import AipOcr import json """get img""" def get_file_content(filePath): with open(filePath, 'rb') as fp: return fp.read() """ get licsense plate """ def get_license_plate(filePath): """ APPID AK SK """ APP_ID = '********' API_KEY = '**************' SECRET_KEY = '******************' """ create client """ client = AipOcr(APP_ID, API_KEY, SECRET_KEY) image = get_file_content(filePath) """ 調用車牌識別 """ res = client.licensePlate(image) return res """ call example """ str = 'C:\\Users\\***\\Desktop\\big.jpg' """ 照片絕對地址 """ res = get_license_plate(str) print('車牌號碼:' + res['words_result']['number']) print('車牌顏色:' + res['words_result']['color'])
至此,咱們就實現了使用百度雲SDK,經過編寫python代碼調用接口的車牌識別需求。