java车牌识别字符分割_车牌识别之字符分割

本文详细介绍了Java车牌字符分割的过程,包括灰度化、颜色判断、二值化、取轮廓、找外接矩形、截取图块等步骤。在处理中文字符时,通过特殊字符(如“城市字符”)的位置反推中文字符的矩形,解决中文字符分割问题。此外,还讨论了颜色判断、去除柳钉等细节,以确保字符识别的准确性。
摘要由CSDN通过智能技术生成

由于在车牌定位中,我们使用了归一化过程。因此所需要处理的车牌的大小是统一的,在目前的版本中这个值是136*36。

那么字符分割的结果就是将车牌中的所有文字一一分割开来,形成单一的字符块。生成的字符块就可以输入下一步的字符识别部分进行识别。我们可以使用人工神经网络,也就是ANN来识别字符。

具体而言,字符分割过程是如何做的呢?简单说,就是:灰度化->颜色判断->二值化->取轮廓->找外接矩形->截取图块。

44d97713c6f8d6968369954bcff89ff1.png

1.灰度化

首先,我们把彩色的图片转化为灰度化图片。注意:为了以后可以利用彩色信息,在前面的车牌检测过程中,我们的输出结果不是灰度化图片,而是彩色图片。这样以后当我们改正算法,想利用彩色信息时就可以使用了。

但是在这里,我们的算法还是针对的是灰度化图片,因此首先进行灰度化处理。

灰度化后的图片见下图:

5cea7d12039325f0cfd9b2db1e0c9bd3.png

2.颜色判断

灰度化之后,为了分割字符。我们需要获取字符的轮廓。注意:分割字符有很多种方法。例如投影法,滑动窗口判断法,在这里,使用的是取字符轮廓法。

因为需要取轮廓,就需要把图片转化成一个二值化图片。不过,由于蓝色和黄色车牌图片的区别,两者需要用的二值化参数不一样,因此这里需要对车牌图片的颜色进行一个判断。车牌颜色对二值化的影响的分析见后面“其他细节”章节。

这里颜色判断的使用的是前面颜色定位详解里的模板匹配法。

15bfa133dfa0f0b4cc45e43464b96e76.png

3.二值化

获取颜色后,就可以选择不同的参数进行大津阈值法来进行二值化。对于本示例图片中的蓝色车牌而言,使用的参数为CV_THRESH_BINARY。

二值化后的效果见下图:

ea212a9f8cbf9e94584da8749b0f5c02.png

4.取轮廓

接下来,使用被多次用到的取轮廓方法findContours。关于这个方法的具体内容,在前面的开发详解中已做过介绍,这里不再赘述。

取轮廓后的结果如下图:

44752e406725a87c943aaf65136015cc.png

注意:直接使用findContours方法取轮廓时,在处理中文字符,也就是“苏”时,会发生断裂现象。因此为了处理中文字符,EasyPR换了一种思路,使用了额外的步骤来解决这个问题。具体可以见后面的“中文字符处理”章节。

5.找外接矩形

使用了中文字符处理方法以后,成功获取了所有的字符的外接矩形。

具体见下图:

e465b7364ac8c7333df2def7a1be3417.png

6.截取图块</

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值