gather and watch! A set of open source license plate recognition system based on springboot (with project address)

Java confidant 2021-08-06 16:55:09 阅读数:652

本文一共[544]字,预计阅读时长:1分钟~
gather watch set open source

 

gitee Open source address

https://gitee.com/admin_yu/yx-image-recognition

Introduce

  • spring boot + maven License plate recognition and training system
  • be based on java Deep language learning program , It's relatively rare across the open source community ; And based on java Language to achieve license plate recognition EasyPR-Java project , The last update was five years ago .
  • I refer to EasyPR original edition C++ project 、 as well as fan-wenjie Of EasyPR-Java project ; At the same time, the section is consulted opencv official 4.0.1 edition C++ Source code , Combined with personal java Language understanding , Sort out the current project
  • This is an introductory tutorial project , I am also learning about image recognition technology ; Daniel, please take a detour
  • The current project is in the original EasyPR Based on the project , Added green card recognition function , But the current training library file contains too few samples of green cards , We also need to increase the training of green card samples again , It will be uploaded step by step
  • Currently added based on svm License plate detection training of the algorithm 、 And based on ann License plate number recognition training function of the algorithm
  • In the future, ID recognition will be gradually added 、 Face recognition and other functions

Include features

  • yellow blue green Yellow, blue and green license plate detection and license plate number recognition
  • A single picture 、 Multiple images concurrent 、 Single image multi license plate detection and recognition
  • Image license plate detection training
  • Picture and character recognition training
  • There are two implementations of dependency packages : be based on org.bytedeco.javacpp How packages are implemented ; be based on org.opencv The way the official package is implemented
  • org.opencv Official bag , Provides java Language api;java Projects can be done through build path Mode or environment variable ;
  • org.bytedeco.javacpp package ,JavaCPP It's an open source library , It is provided in Java Efficient local access C++ Methods ; stay pom We can introduce the coordinate dependence in
Java Reply to the official account “ Back end interview ”, Send you one Java Interview questions

Software version

  • 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 edition

Software architecture

  • B/S framework , front end html + requireJS, Back end java
  • Database usage sqlite3.0
  • The interface document uses swagger 2.0

interface

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

License plate pictures come from the Internet , It's only for exchange learning , Not for commercial use ; If there is any infringement , Please contact me to delete

License plate detection process

Gaussian blur :

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

Image graying :

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

Sobel operator :

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

Image binarization :

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

Image close operation :

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

Binary image denoising :

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

Extract the outer contour :

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

External contour filtering :

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

Cutaway :

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

Reset cut size :

 

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

License plate detection results :

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

Picture license plate character recognition process

debug_char_threshold:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

debug_char_clearLiuDing:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

debug_specMat:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

debug_chineseMat:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

debug_char_auxRoi:

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

Installation tutorial

  • Development environment construction :./doc/01_ Development environment construction .md
  • Pull the project locally ,PlateDetect Folder copy to d Under the plate , The default license plate recognition operations are in d:/PlateDetect/ Directory processing
  • Need to modify the operation path , modify com/yuxue/constant/Constant.java File constant parameters can be , You can use an absolute drive path , You can also use the project relative path
  • spring boot How to run the project , Enter... On the browser http://localhost:16666/index You can open the operation interface
  • Enter... On the browser http://localhost:16666/swagger-ui.html You can open the interface document page

Reference documents

  • liuruoze/EasyPR:https://gitee.com/easypr/EasyPR
  • fan-wenjie/EasyPR-Java:https://github.com/fan-wenjie/EasyPR-Java
  • opencv official :https://opencv.org/

another

I want to read some technical articles in my spare time , You can go to the official account menu bar to flip up the contents that I have categorized , It should be helpful for some children's shoes . At the same time, if you find problems in the process of reading, please leave a message to point out , Appreciate receiving ~. in addition , If you want to know more about the content, you can leave a message ( When , Leave a message on any article ), Attached menu bar screenshot (PS: Many people do not know what the official account menu bar is )

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

 

END

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

I know you. “ Looking at watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

版权声明:本文为[Java confidant]所创,转载请带上原文链接,感谢。 https://car.inotgo.com/2021/08/20210806165220163q.html