【运行截图请往下看】编程语言:Android、iOS、C#、Asp/Asp.net、Java、Vb、Php、Jsp、C++等
【专业优势】18年功力源码技术大神,坐阵亲临指导,远程协助包100%成功运行!
开发软件:Pycharm+Python3.6 数据库:mysql
## opencv车牌识别原理简介
* 车牌字符识别使用的算法是opencv的SVM
* opencv的SVM使用代码来自于opencv附带的sample,StatModel类和SVM类都是sample中的代码
* 训练数据文件`svm.dat`和`svmchinese.dat`
* 使用`图像边缘`和`车牌颜色`定位车牌,再识别`字符`
* 两种方法都无法识别时调用百度api(有手动按钮)
### 一. 车牌图像预处理
* 1.将彩色图像转化为灰度图
* 2.采用20*20模版对图像进行高斯模糊来缓解由照相机或其他环境噪声(如果不这么做,我们会得到很多垂直边缘,导致错误检测。)
* 3.使用Otsu自适应阈值算法获得图像二值化的阈值,并由此得到一副二值化图片
* 4.采用闭操作,去除每个垂直边缘线之间的空白空格,并连接所有包含 大量边缘的区域(这步过后,我们将有许多包含车牌的候选区域)
* 5.由于大多数区域并不包含车牌,我们使用轮廓外接矩形的纵横比和区域面积,对这些区域进行区分。
* a.首先使用findContours找到外部轮廓
* b.使用minAreaRect获得这些轮廓的最小外接矩形,存储在vector向量中
* c.使用面积和长宽比阈值,作基本的验证
### 二. 车牌图像定位
车牌定位的主要工作是从摄入的汽车图像中找到汽车牌照所在位置,并把车牌从该区域中准确地分割出来,供字符分割使用。
因此,牌照区域的确定是影响系统性能的重要因素之一,牌照的定位与否直接影响到字符分割和字符识别的准确率。
目前车牌定位的方法很多,但总的来说可以分为以下4类:
* (1)基于颜色的分割方法,这种方法主要利用颜色空间的信息,实现车牌分割,包括彩色边缘算法、颜色距离和相似度算法等;
* (2)基于纹理的分割方法,这种方法主要利用车牌区域水平方向的纹理特征进行分割,包括小波纹理、水平梯度差分纹理等;
* (3)基于边缘检测的分割方法;
* (4)基于数学形态法的分割方法。
为了代码实现上的方便,我采用的是基于边缘检测的分割方法和基于颜色的分割方法。
* 车牌中有大量的垂直边缘,这个特征可以定位车牌。
* 根据阈值找到对应颜色来定位车牌。
### 三. 车牌图像矩形矫正
因为摄像头和车辆车牌之间的角度有不同的变化, 一般所拍摄的车牌图像都不是理想状态下的矩形, 如果这样将会给后面的字符分割带来不利的影响, 增加了字符分割的难度, 更增加了后续的字符识别的困难, 造成识别率下降。因此, 在字符分割之前, 我们需要进行对倾斜的矩形车牌进行校正。
### 四. 车牌图像字符分割
要识别车牌字符,前提是先进行车牌字符的正确分割与提取。字符分割的任务是把多列或多行字符图像中的每个字符从整个图像中切割出来成为单个字符。车牌字符的正确分割对字符的识别是很关键的。传统的字符分割算法可以归纳为以下三类:直接分割法、基于识别基础上的分割法、自适应分割线类聚法。直接分割法简单,但它的局限是分割点的确定需要较高的准确性;基于识别基础上的分割法是把识别和分割结合起来,但是需要识别的高准确性,它根据分类和识别的耦合程度又有不同的划分;自适应分割线聚类法是要建立一个分类器,用它来判断图像的每一列是否是分割线,它是根据训练样本来进行自适应学习的神经网络分类器,但对于粘连字符训练困难。也有直接把字符组成的单词当作一个整体来识别的,诸如运用马尔科夫数学模型等方法进行处理,这些算法主要应用于印刷体文本识别。
### 五. 车牌图像字符识别
* 去除固定车牌的铆钉
* 对字符分割的图块使用训练好的svm模型进行识别
* 判断最后一个数是否是车牌边缘,假设车牌边缘被认为是1,1太细,认为是边缘


照片名称:1基于opencv机器学习的车牌识别系统登录界面

照片名称:2多种方式识别车牌号

照片名称:3车牌对比识别系统

照片名称:4车牌搜索系统

照片名称:5车牌数据库查询系统

照片名称:6车辆认证系统

照片名称:7mysql数据库车牌识别记录表



下一个计算机源码设计:1421基于python网易新闻scrapy爬虫数据分析与可视化大屏展示

- 1422Python基于Opencv和SVM机器学习算法和百度AI平台车牌识别系统2023-12-07 03:19:50
- 1418Python基于KMeans聚类算法在高校宿舍分配中的应用带文档2023-12-03 00:45:05
- 1412基于Python卷积神经网络人脸识别驾驶员疲劳检测与预警系统设2023-04-17 17:01:51
- 1410Python基于OpenCV人脸模型网络课堂考勤及专注度识别系统设计2023-04-12 13:36:54
- 1059大神Python基于Django商品销售进销存系统2019-09-20 13:15:00
- 1057大神Python基于Django图书借阅管理系统2019-09-19 21:26:38
- 1055Python基于Django带支付宝支付电商购物商城网站设计2019-08-11 22:07:52
- 1356基于Python卷积神经网络人脸识别驾驶员疲劳检测与预警系统设2022-09-18 16:50:09

