python利用百度雲接口實現車牌識別

一個小需求---實現車牌識別。python

目前有兩個想法算法

  1. 調雲在線的接口或者使用SDK作開發(配置環境和編譯第三方庫很麻煩,固然使用python能夠避免這些問題)json

  2. 本身實現車牌識別算法(複雜)app

  3. curl

一開始準備使用百度雲文字識別C++ SDK來作,發現須要準備curl、jsoncpp和OpenCV,而且curl和jsoncpp須要本身編譯,很麻煩,因此換用了python來作,真的是順暢簡單。ui

  1. 安裝python環境(我用python3.7)編碼

python官網下載地址:https://www.python.org/downloads/release/python-374/ 建議直接下載安裝版installer(看對系統和位數)​打開安裝包無腦安裝便可。安裝好以後,看一下是否安裝成功。url

cmdspa

python --version3d

  1. 百度雲SDK下載安裝及建立應用

參考https://cloud.baidu.com/doc/OCR/s/pjwvxzmtc文檔,安裝python SDK

查看pip版本(python環境自帶,可是要注意版本)

pip --version

​若是版本不合適,那麼自行升級pip

pip install -U pip

安裝baidu-aip

pip install baidu-aip

​如今咱們的百度雲SDK就安裝好了,下來建立應用

登陸百度雲(沒帳號註冊一下)

​建立應用

​本身填一下

​如今咱們就建立好了車牌識別的應用,點擊應用列表可查看。​這裏的APPID、API KEY、Secret Key要在代碼中使用。(注意不要泄漏)

 

  1. 編碼調接口,實現需求

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代碼調用接口的車牌識別需求。

相關文章
相關標籤/搜索