基于python车牌识别 || 车牌字符分割

车牌字符分割重要性
  • 无法做端到端的车牌识别,于是,为了识别准确率更高,我们需要对字符进行精准分割,并且极可能的牌除各种干扰。
以下将分为三部分进行车牌字符分割
1.图片预处理
  • 目的是为了排除一些干扰,比如光线等。

    首先我们对原车牌进行灰度处理,因为灰度化后的图像将由三通道变为单通道,单通道的数据处理起来就会简单许多,对后序处理和运算速度都有很大的好处,然后在对其进行高斯滤波,得到处理过后的图片:
    在这里插入图片描述
    在这里插入图片描述
    由于在这里有三种车牌:黄底,蓝底,绿底。所以在这里由我们给出固定阈值进行二值化显然不合理,但是不管是什么颜色底的车牌都有一个共同的特点,就是背景和字符在车牌中所占比例肯定是不一样的。在这里,我使用了一种OSTU算法对其进行二值化,OTSU算法是由日本学者OTSU于1979年提出的一种对图像进行二值化的高效算法,是一种自适应的阈值确定的方法,又称大津阈值分割法,是最小二乘法意义下的最优分割。
    在这里插入图片描述

2.水平分割
  • 找出上下边框,尽可能的排除干扰,为分割做准备

    在前面对车牌进行二值化过后,现图片中只有两个像素点,0和255,我们对每一行的像素点的值进行统计,从而得到水平投影图,如图13。进行水平投影是为了找到字符的上边界和下边界,从而对字符进行精准分割。取一个合适阈值,对字符所在区域进行判别。
    在这里插入图片描述

3.竖直分割
  • 找出每个字符具体所在位置

    与水平投影操作类似,先得到垂直投影图,如图14。再取一个阈值,对每个字符进行分割。考虑到0和U的特殊性,这个阈值需要取得小一点,才能正确的得到完整的0和U。我们并没有用峰波和峰底进行分割,因为用峰波或者峰底的方法会使得分割出来的字符干扰信息会很多,对于我们识别正确率有很大的影响,我们在这里采用阈值的方法对其进行分割。
    在这里插入图片描述

4.结果展示
  • 分割结果展示
    在这里插入图片描述
  • 定位情况
    在这里插入图片描述

完整程序链接

  • https://download.csdn.net/download/ytzh88/12586962
  • 该项目通过pycharm建立,直接打开,安装相应的包就可,主要是tensorflow,keras等。效果还算可以,有问题的私聊,我看到会及时解答的。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值