基于 Spring Boot 的车牌识别系统(附项目地址)
公众号程序猿DD
共 1871字,需浏览 4分钟
· 2020-09-05
点击上方蓝色“程序猿DD”,选择“设为星标”
回复“资源”获取独家整理的学习资料!
gitee开源地址
“https://gitee.com/admin_yu/yx-image-recognition
介绍
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中引入坐标依赖即可
软件版本
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
操作界面
![](https://filescdn.proginn.com/c56db560bef6181158278fd3eb433e69/f9704cab37d56a6c823fc2051a848f3a.webp)
车牌图片来源于网络,仅用于交流学习,不得用于商业用途;如有侵权,请联系本人删除
车牌检测过程
高斯模糊:
![](https://filescdn.proginn.com/3eb6931556951b1ad720315d4c96651e/9080a455e1e43a70d31b6596e20a40c3.webp)
图像灰度化:
![](https://filescdn.proginn.com/af22daf1ec227403d68b08362d60962b/6522eb1d62b1b989734ad5381a06771a.webp)
Sobel 算子:
![](https://filescdn.proginn.com/fa4a2af742748b4d73be38a1b57f66b5/37f40c0317f8471606923d86c55fc8d2.webp)
图像二值化:
![](https://filescdn.proginn.com/2dca2dbf4eb7c6afa15062a180f8d14f/9dc2488eb3d04396ba215acbc4e98842.webp)
图像闭操作:
![](https://filescdn.proginn.com/74c800cf75d5518e28523e3eefe21749/0e93e847c2545e1618cff053d55b3289.webp)
二值图像降噪:
![](https://filescdn.proginn.com/e80925edf774b39f67d5ea6364a4a51c/abd1136587ea16cbb2f7e8050eaf5301.webp)
提取外部轮廓:
![](https://filescdn.proginn.com/cdec19dc503b972bfba16be77eef85bf/50ad8e0279ae7c9c41fe9b936dd6b6e2.webp)
外部轮廓筛选:
![](https://filescdn.proginn.com/4801b5a6c873317cf5987ef84aac83ed/c810aaebf748e4c42f8f61c6dc91e32c.webp)
切图:
![](https://filescdn.proginn.com/8b6ff198298224b859e25242bb99e6d2/0895657f7b0cf630ea38d8b2ebdf129a.webp)
重置切图尺寸:
![](https://filescdn.proginn.com/7c0db2eac8987dcba9817f518955b7f2/5c162389181b6f7b78e05944125e892b.webp)
车牌检测结果:
![](https://filescdn.proginn.com/560cc7029f7a7bc1997fe151f7f5f423/2e9a6fda4044ec8246be7aca72d3d1da.webp)
图片车牌文字识别过程
debug_char_threshold:
![](https://filescdn.proginn.com/4787d74b5cde296ef3e2f04f02ccc681/1e2573ca718f34e854a24f80e6a86bb5.webp)
debug_char_clearLiuDing:
![](https://filescdn.proginn.com/aebdc434dc2f4ee44b798e5f13b340a7/ce2f9514580dfeccc075817fc8e903f9.webp)
debug_specMat:
![](https://filescdn.proginn.com/1012cffd2361125a209233a00a977f47/ff35d099636d837c70e55d6d627a89ea.webp)
debug_chineseMat:
![](https://filescdn.proginn.com/a887fb67cd95f4079911830c40cfa692/3b467cdeb3223422e51b6233f9ce236f.webp)
debug_char_auxRoi:
![](https://filescdn.proginn.com/278d2a0bd14e6b6213a07c87c909d409/ee582bdab6fde855494b6bd059091170.webp)
安装教程
开发环境搭建:./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/
往期推荐
离职后与大家在星球聊了很多,你不来看看?
我的星球是否适合你?
点击阅读原文看看我们都聊过啥?
评论