很多计算机专业大学生经常和我交流:毕业设计没思路、不会做、论文不会写、太难了......
针对这些问题,决定分享一些软、硬件项目的设计思路和实施方法,希望可以帮助大家,也祝愿各位学子,顺利毕业!
项目专栏:7天搞定毕业设计和论文
对计算机技术感兴趣的小伙伴请关注公众号:美男子玩编程,公众号优先推送最新技术博文,创作不易,请各位朋友多多点赞、收藏、关注支持~
1、项目概述
基于Spring Boot+Maven+OpenCV实现车牌识别,项目贯穿样本处理、模型训练、图像处理、对象检测、对象识别等技术点。
项目资源下载请参见:https://download.csdn.net/download/m0_38106923/87574521
2、开发环境
jdk 1.8.61+
maven 3.0+
opencv 4.0.1 [或者:javacpp1.4.4、opencv-platform 4.0.1-1.4.4]
tess4j 4.3.1
spring boot 2.1.5.RELEASE
yx-image-recognition 1.0.0版本
3、项目架构
B/S 架构,前端html + requireJS,后端java;
数据库使用 sqlite3.0;
接口文档使用swagger 2.0。
4、项目功能
蓝、绿、黄车牌检测及车牌号码识别;
网上常见的轮廓提取车牌算法Java实现;
HSV色彩分割提取车牌算法Java实现;
harrcascade特征识别算法 Java实现;
基于SVM算法的车牌检测训练Java实现;
基于ANN算法的车牌号码识别训练Java实现;
图片工具:目前实现了HSV色彩切割,后续将添加更多使用的图片处理工具,用于辅助算法优化。
5、项目实现
车牌识别整体流程主要分两个大的步骤:
使用多种算法,提取到车牌的轮廓,按轮廓从原图片获取车牌的切图,使用SVM算法模型,判断该切图是否是车牌;
根据车牌切图,判定车牌颜色,同时使用轮廓提取算法,提取车牌字符轮廓,按轮廓从二值图片获取车牌切图;使用ANN算法模型,分别使用中文字符模型、蓝牌模型、绿牌模型识别字符切图的文字内容。
5.1、提取车牌图像
其目的是从车牌图片中,提取到包含车牌的图块,这里有三种实现方式:
轮廓提取算法;
色彩分割提取算法;
特征识别提取算法。
5.1.1、轮廓提取算法
该方法是互联网上常见的处理办法,大体流程基本一致,我这里稍微整理,也增加了一些优化;
以上操作步骤,还会包含一些其他小的步骤,比如:轮廓筛选、图像旋转校正等;
这种方法可以说比较具有通用性,自己调整一下一下各个步骤的一些参数,也能在特定场景下,大大增加识别准确率。
- 读取图像,转换大小,然后灰度化图像; - 高斯模糊,去除噪点; - sobel运算,检测图像边缘 - 图像二值化,将边缘转成白色(取值255),其他内容转为黑色(取值0) - 图像闭操作,将临近的边缘线,合并成块 - 边缘腐蚀操作,将一些细小的连接线去掉,分离出一些大的块装区域 - 边缘膨胀,还原腐蚀操作影响的块状区域大小 - 还原图像到原始图像大小,根据二值图像,提取轮廓 - 根据提取的轮廓,从原始图像上,切图 - 将得到的切图,调整到固定大小: 136*36像素,用于SVM算法模型,判断是否是车牌
5.1.2、色彩分割提取算法
这种方法在特定场景下,识别准确率比较高。
- 转换到HSV色彩空间,对hsv取值范围过滤(取值范围,可以使用我的色彩切割工具,大体定位); - 蓝牌、绿牌、黄牌的操作步骤基本一致,区别仅在于HSV取值范围不一样 - 图像均衡化,增强对比度 - 图像二值化,得到车牌区域 - 图像闭操作,将车牌区域连成片 - 还原图像到原始图像大小,根据二值图像,提取轮廓 - 根据提取的轮廓,从原始图像上,切图 - 将得到的切图,调整到固定大小: 136*36像素,用于SVM算法模型,判断是否是车牌
5.1.3、特征识别提取算法
这种方法,应用应该也比较广泛,人脸识别也常用这种方法。
- 使用harrcascade模型,直接识别图片中的图块位置,提取图块切图 - 将得到的切图,调整到固定大小: 136*36像素,用于SVM算法模型,判断是否是车牌
5.2、车牌字符识别
车牌字符识别的目的是从车牌图块中,识别车牌的颜色、车牌号码。
- 使用SVM模型算法,判断图块是否是车牌 - 将图块转到HSV色彩空间,图像均衡化之后,根据H的取值范围及占比,计算属于何种颜色车牌 - 原图灰度化、高斯模糊 - 然后直接二值化;对于车牌来说一般仅包含两种颜色 - 边缘腐蚀、膨胀 - 水平或者垂直方向投影去除边框、铆钉干扰等 - 错切校正 - 轮廓提取,轮廓位置、大小校正、轮廓过滤等 - 提取字符图块,调整为统一大小20*20像素,使用ANN算法,识别图块的字符,计算置信度等
车牌字符识别,这种方式比较通用,成功率也比较高。
6、项目效果演示
6.1、车牌识别
6.2、图像处理工具
项目资源下载请参考:https://download.csdn.net/download/m0_38106923/87574521