python利用百度云接口實(shí)現(xiàn)車牌識別的示例
一個(gè)小需求---實(shí)現(xiàn)車牌識別。
目前有兩個(gè)想法
1. 調(diào)云在線的接口或者使用SDK做開發(fā)(配置環(huán)境和編譯第三方庫很麻煩,當(dāng)然使用python可以避免這些問題)
2. 自己實(shí)現(xiàn)車牌識別算法(復(fù)雜)
一開始準(zhǔn)備使用百度云文字識別C++ SDK來做,發(fā)現(xiàn)需要準(zhǔn)備curl、jsoncpp和OpenCV,并且curl和jsoncpp需要自己編譯,很麻煩,所以換用了python來做,真的是順暢簡單。
1. 安裝python環(huán)境(我用python3.7)
python官網(wǎng)下載地址:https://www.python.org/downloads/release/python-374/建議直接下載安裝版installer(看對系統(tǒng)和位數(shù))
打開安裝包無腦安裝即可。安裝好之后,看一下是否安裝成功。
cmd
python --version
2. 百度云SDK下載安裝及創(chuàng)建應(yīng)用
參考https://cloud.baidu.com/doc/OCR/s/pjwvxzmtc文檔,安裝python SDK
查看pip版本(python環(huán)境自帶,但是要注意版本)
pip --version
如果版本不合適,那么自行升級pip
pip install -U pip
安裝baidu-aip
pip install baidu-aip
(安裝成功的樣子)
現(xiàn)在我們的百度云SDK就安裝好了,下來創(chuàng)建應(yīng)用
登錄百度云(沒賬號注冊一下)
創(chuàng)建應(yīng)用
自己填一下
現(xiàn)在我們就創(chuàng)建好了車牌識別的應(yīng)用,點(diǎn)擊應(yīng)用列表可查看。
這里的APPID、API KEY、Secret Key要在代碼中使用。(注意不要泄漏)
3. 編碼調(diào)接口,實(shí)現(xiàn)需求
python代碼實(shí)現(xiàn)
''' 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) """ 調(diào)用車牌識別 """ 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'])
代碼分解
引入庫
from aip import AipOcr """百度云SDK""" import json """json庫"""
創(chuàng)建客戶端
""" APPID AK SK 自己創(chuàng)建的應(yīng)用中的數(shù)據(jù)""" APP_ID = '*******' API_KEY = '***************' SECRET_KEY = '******************' """ create client """ client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
調(diào)用接口得到車牌識別結(jié)果
image = get_file_content(filePath) """ 調(diào)用車牌識別 """ res = client.licensePlate(image)
這里的res是一個(gè)json對象/一個(gè)dict
例子
{ "log_id": 3583925545, "words_result": { "color": "blue", "number": "蘇HS7766" } }
可以使用res['listname']['listname']形式獲取字典數(shù)據(jù)
print('車牌號碼:' + res['words_result']['number']) print('車牌顏色:' + res['words_result']['color'])
至此,我們就實(shí)現(xiàn)了使用百度云SDK,通過編寫python代碼調(diào)用接口的車牌識別需求。
參考文檔
【1】百度云API文檔:https://cloud.baidu.com/doc/OCR/s/pjwvxzmtc/
【2】python pip安裝與使用:https://www.runoob.com/w3cnote/python-pip-install-usage.html
【3】python官網(wǎng):https://www.python.org/downloads/release/python-374/
到此這篇關(guān)于python利用百度云接口實(shí)現(xiàn)車牌識別的示例的文章就介紹到這了,更多相關(guān)python 百度云車牌識別內(nèi)容請搜素腳本之家以前的文章或下面相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
如何用python合并多個(gè)有規(guī)則命名的nc文件
在地學(xué)領(lǐng)域,nc格式的文件可謂隨處可見,這種文件可以存儲多維數(shù)字矩陣,下面這篇文章主要給大家介紹了關(guān)于如何用python合并多個(gè)有規(guī)則命名的nc文件的相關(guān)資料,需要的朋友可以參考下2022-03-03Python實(shí)現(xiàn)簡單生成驗(yàn)證碼功能【基于random模塊】
這篇文章主要介紹了Python實(shí)現(xiàn)簡單生成驗(yàn)證碼功能,結(jié)合實(shí)例形式分析了Python基于random模塊生成隨機(jī)字符串的相關(guān)操作技巧,需要的朋友可以參考下2018-02-02pip?install?python-Levenshtein失敗的解決
這篇文章主要介紹了pip?install?python-Levenshtein失敗的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02python編程實(shí)現(xiàn)清理微信重復(fù)緩存文件
這篇文章主要為大家介紹了使用python編程來實(shí)現(xiàn)清理微信重復(fù)緩存文件的示例代碼過程,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11Pytest初學(xué)者快速上手高效Python測試指南
這篇文章主要為大家介紹了Pytest初學(xué)者快速上手的高效Python測試指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01利用Python進(jìn)行數(shù)據(jù)可視化的實(shí)例代碼
數(shù)據(jù)可視化和數(shù)據(jù)挖掘都是探索數(shù)據(jù)和分析數(shù)據(jù)的一種手段,下面這篇文章主要給大家介紹了關(guān)于如何利用Python進(jìn)行數(shù)據(jù)可視化的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-09-09