java 车牌定位_Python|传统方法实现车牌定位

这篇博客介绍了如何使用Python进行车牌定位,通过图片裁剪、去噪、黑白化、区域扩充、轮廓查找和区域筛选等步骤。作者强调了车牌的特征,如长宽比和字符分割,并提供了代码示例。
摘要由CSDN通过智能技术生成

如果给你一张图片,你会怎么找出图片中的车牌呢?是用传统的方法依靠特征筛选找到车牌?还是用新款的RTX2080Ti煤气灶来炼丹呢?

884efe9c2e34057aabab0591ad5bb0f8.png

虽然我知道炼丹只需要丢原材料,但是很明显,我连原材料都不会放,那么我只能老老实实地选择最传统的依靠车牌的特征从而来定位它了。

分析车牌,发现车牌有以下特征:车牌的长宽比是由大小的限制的,一般长比宽不回大于5,也不会小于2;

车牌在一张图片中的面积也是有大小的,具体要根据拍摄的位置估算一张车牌的面积;

车牌内的字符将车牌内各区域分割开来。

车牌定位思路图片裁剪

去噪

黑白化

区域扩充

轮廓查找

区域筛选

图片裁剪中,以下图为例,我们需要的部分是这一部分,因此,图片的裁剪中,我们即便不知道车牌的位置,但是我们稍微把图片外圈裁剪掉,总不会出错的。

fe1fa78d43eb2b59c0c69a02787f8b81.png

c36824191255e476acff9b4117f859a3.png

然后去除图片的噪声就好,建议先灰度化,然后使用高斯滤波即可,因为灰度化可以减少运算量,而高斯噪声又是最常见的噪声。

紧接着,将图片黑白化即可,使用Sobel算子做x方向上的锐化,则可以保留更多的车牌边缘,然后将锐化的结果使用大津法直接黑白化即可。

之后就是进行车牌区域的扩充,先进行一次二值形态学的开操作,可以去掉一些细节,紧接着使用长方形的矩形结构元素来膨胀能够将车牌区域扩充。

之后再进行轮廓的查找,找到图片中所有的轮廓即可。

如果你能够成功地将车牌的轮廓找出来,那么你接下来就是将其筛选出来了。

在图片中,车牌区域的面积不会过高,也不会过低。

39113d60d55c788c96077882505e3382.png

车牌特征中,长宽比很重要

de7093e544ccab2076e3bfb16c5fa33c.png

考虑到车牌的文字之间存在间隙,因此对选出的区域在竖直方向进行二值形态学的膨胀,进行20次的膨胀,保证整个区域竖直方向全部填充。

下面图片左边为车牌区域进行膨胀,右边则是其他区域。

efa7bb8ad5582c8fca2c70713cd08216.png

代码依旧放在了github。https://github.com/Rare0716/plateNumberLocation

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值