今天推薦一個基於SpringBoot的車牌識別系統。html
介紹
spring boot + maven 實現的車牌識別及訓練系統前端
基於java語言的深度學習項目,在整個開源社區來講都相對較少;而基於java語言實現車牌識別EasyPR-Java項目,最後的更新已是五年之前。java
本人蔘考了EasyPR原版C++項目、以及fan-wenjie的EasyPR-Java項目;同時查閱了部分opencv官方4.0.1版本C++的源碼,結合我的對java語言理解,整理出當前項目git
這是一個入門級教程項目,本人目前也正在學習圖片識別相關技術;大牛請繞路github
當前項目在原有EasyPR項目基礎上,增長了綠牌識別功能,只不過當前的訓練庫文件包含綠牌的樣本太少,還須要從新增長綠牌樣本的訓練,後續會逐步上傳算法
當前已經添加基於svm算法的車牌檢測訓練、以及基於ann算法的車牌號碼識別訓練功能spring
後續會逐步加入證件識別、人臉識別等功能sql
包含功能
黃 藍 綠 黃藍綠車牌檢測及車牌號碼識別數據庫
單張圖片、多張圖片併發、單圖片多車牌檢測及識別後端
圖片車牌檢測訓練
圖片文字識別訓練
包含兩種依賴包的實現方式:基於org.bytedeco.javacpp包的實現方式;基於org.opencv官方包的實現方式
org.opencv官方包,提供了java語言api;java項目能夠經過build path方式或者環境變量的方式引用;
org.bytedeco.javacpp包,JavaCPP是一個開源庫,它提供了在 Java 中高效訪問本地 C++的方法;在pom中引入座標依賴便可
軟件版本
jdk 1.8.61+
maven 3.0+
opencv 4.0.1 ;javacpp1.4.4;opencv-platform 4.0.1-1.4.4
spring boot 2.1.5.RELEASE
yx-image-recognition 1.0.0版本
軟件架構
B/S 架構,前端html + requireJS,後端java
數據庫使用 sqlite3.0
接口文檔使用swagger 2.0
操做界面
車牌圖片來源於網絡,僅用於交流學習,不得用於商業用途;若有侵權,請聯繫本人刪除
車牌檢測過程
高斯模糊:
圖像灰度化:
Sobel 算子:
圖像二值化:
圖像閉操做:
二值圖像降噪:
提取外部輪廓:
外部輪廓篩選:
切圖:
重置切圖尺寸:
車牌檢測結果:
圖片車牌文字識別過程
debug_char_threshold:
debug_char_clearLiuDing:
debug_specMat:
debug_chineseMat:
debug_char_auxRoi:
安裝教程
開發環境搭建:./doc/01_開發環境搭建.md
將項目拉取到本地,PlateDetect文件夾拷貝到d盤下,默認車牌識別操做均在d:/PlateDetect/目錄下處理
須要修改操做路徑,修改com/yuxue/constant/Constant.java文件常量參數便可,能夠使用絕對盤符路徑,也能夠使用項目相對路徑
spring boot方式運行項目,瀏覽器上輸入 http://localhost:16666/index 便可打開操做界面
瀏覽器上輸入 http://localhost:16666/swagger-ui.html 便可打開接口文檔頁面
參考文檔
liuruoze/EasyPR:https://gitee.com/easypr/EasyPR
fan-wenjie/EasyPR-Java:https://github.com/fan-wenjie/EasyPR-Java
opencv官方:https://opencv.org/
以上,即是今天的分享,以爲內容對你有所幫助的,還請點個「在看」支持,謝謝各位啦~
系統代碼和資料獲取
掃碼關注上面公衆號回覆「車牌系統」