Python实现基于SVM支持向量机的车牌识别

前言

本项目是一个基于支持向量机(SVM)的车牌识别系统,主要包含以下四个部分:

1.数据集说明:

训练样本来自EasyPR的C++版本,包含一万三千多张数字及大写字母的图片和三千多张中文字符图片,图片已进行二值化处理并贴好标签。
数字和大写字母图片存储在train\chars2目录下,中文字符图片存储在train\charsChinese目录下。
测试样本从各种网站搜集,存储在test目录下。

2.模型概述:

模型由四个主要部分构成:训练字符分类器、车牌定位、字符分割、字符识别。
训练字符分类器:使用SVM进行训练,分为两个分类器,一个用于中文字符,另一个用于数字及大写字母。
车牌定位:通过灰度化处理、高斯去躁、开运算和闭运算、Canny算子边缘检测等方法定位车牌位置。
字符分割:从图片的波形直方图中找到波峰位置,将字符分割开。
字符识别:将分割开的字符分别放入对应的分类器中进行识别。

3.SVM介绍:

支持向量机是一种二分类模型,通过最大化间隔来训练,具有核技巧,使其成为非线性分类器。
SVM的学习策略是间隔最大化,通过求解凸二次规划问题实现。

4.训练字符分类器:

使用OpenCV自带的SVM模型进行训练。
重要参数包括惩罚系数C和核函数参数gamma。
对训练数据进行抗扭曲处理,提取方向梯度直方图(HOG)作为特征向量。
训练过程中,将数据导入分类器进行训练,分别训练数字及大写字母和中文字符的模型。
系统通过这些步骤实现了对车牌中字符的有效识别和分类。

5.车牌识别效果:

在这里插入图片描述
在这里插入图片描述

程序可通过pycharm来运行,也可利用pyinstaller打包为可执行文件exe,无需软件和环境要求,可一键运行进行车牌识别。
提示:完整代码见某鱼:t1234
https://m.tb.cn/h.gizT3v1?tk=JbPt3cahBen CZ3460

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pitepa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值