天天看點

基于Spring Boot的車牌識别系統(附項目位址)

前言

基于Spring Boot的車牌識别系統(附項目位址)

介紹

  • spring boot + maven 實作的車牌識别及訓練系統
  • 基于java語言的深度學習項目,在整個開源社群來說都相對較少;而基于java語言實作車牌識别EasyPR-Java項目,最後的更新已經是五年以前。
  • 本人參考了EasyPR原版C++項目、以及fan-wenjie的EasyPR-Java項目;同時查閱了部分opencv官方4.0.1版本C++的源碼,結合個人對java語言了解,整理出目前項目
  • 這是一個入門級教程項目,本人目前也正在學習圖檔識别相關技術;大牛請繞路
  • 目前項目在原有EasyPR項目基礎上,增加了綠牌識别功能,隻不過目前的訓練庫檔案包含綠牌的樣本太少,還需要重新增加綠牌樣本的訓練,後續會逐漸上傳
  • 目前已經添加基于svm算法的車牌檢測訓練、以及基于ann算法的車牌号碼識别訓練功能
  • 後續會逐漸加入證件識别、人臉識别等功能

包含功能

  • 黃 藍 綠 黃藍綠車牌檢測及車牌号碼識别
  • 單張圖檔、多張圖檔并發、單圖檔多車牌檢測及識别
  • 圖檔車牌檢測訓練
  • 圖檔文字識别訓練
  • 包含兩種依賴包的實作方式:基于org.bytedeco.javacpp包的實作方式;基于org.opencv官方包的實作方式
  • org.opencv官方包,提供了java語言api;java項目可以通過build path方式或者環境變量的方式引用;
  • org.bytedeco.javacpp包,JavaCPP是一個開源庫,它提供了在 Java 中高效通路本地 C++的方法;在pom中引入坐标依賴即可 歡迎關注Java項目分享一個分享高品質項目的地方

軟體版本

  • 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

操作界面

基于Spring Boot的車牌識别系統(附項目位址)

車牌圖檔來源于網絡,僅用于交流學習,不得用于商業用途;如有侵權,請聯系本人删除

車牌檢測過程

高斯模糊:

基于Spring Boot的車牌識别系統(附項目位址)

圖像灰階化:

基于Spring Boot的車牌識别系統(附項目位址)

Sobel 算子:

基于Spring Boot的車牌識别系統(附項目位址)

圖像二值化:

基于Spring Boot的車牌識别系統(附項目位址)

圖像閉操作:

基于Spring Boot的車牌識别系統(附項目位址)

二值圖像降噪:

基于Spring Boot的車牌識别系統(附項目位址)

提取外部輪廓:

基于Spring Boot的車牌識别系統(附項目位址)

外部輪廓篩選:

基于Spring Boot的車牌識别系統(附項目位址)

切圖:

基于Spring Boot的車牌識别系統(附項目位址)

重置切圖尺寸:

基于Spring Boot的車牌識别系統(附項目位址)

車牌檢測結果:

基于Spring Boot的車牌識别系統(附項目位址)

圖檔車牌文字識别過程

debug_char_threshold:

基于Spring Boot的車牌識别系統(附項目位址)

debug_char_clearLiuDing:

基于Spring Boot的車牌識别系統(附項目位址)

debug_specMat:

基于Spring Boot的車牌識别系統(附項目位址)

debug_chineseMat:

安裝教程

  • 開發環境搭建:./doc/01_開發環境搭建.md
  • 将項目拉取到本地,PlateDetect檔案夾拷貝到d盤下,預設車牌識别操作均在d:/PlateDetect/目錄下處理
  • 需要修改操作路徑,修改com/yuxue/constant/Constant.java檔案常量參數即可,可以使用絕對盤符路徑,也可以使用項目相對路徑
  • spring boot方式運作項目,浏覽器上輸入 http://localhost:16666/index 即可打開操作界面
  • 浏覽器上輸入 http://localhost:16666/swagger-ui.html 即可打開接口文檔頁面

繼續閱讀