最近看到了各种各样的车牌识别,觉得挺有意思,自己也简单搞一个玩玩😼。传统的图像处理算法我也不太会,就直接用深度学习的方法实现吧。
先看看预期的效果吧,大概就是这样子的,输入一张图片可以把图片中的车牌号以文本的形式打印出来。目前还比较简陋,以后可以尝试加个PyQt5页面实现更加丰富的功能。
这次就不自己标注了,直接找了一个开源的。训练集 245 245 245张、验证集 70 70 70张、测试集 35 35 35张。数据集质量一般。
数据量比较少,直接用yolov5s跑就可以。
简单跑了 100 100 100轮,看着还可以,就直接用了。
因为数据集质量原因,有一些图拍摄不是很清晰,所以截取到的车牌也不是很清楚,我这里选了一些相对来说清楚一些的。其实到这里我们就可以通过Tesseract-OCR进行识别了,但是不对图像进行处理就识别的话效果很不好,所以我这里还是选择对车牌进行一些形态学处理。
这部分也不算完全意义上的形态学处理吧,我并没有使用腐蚀膨胀等操作,只是使用了几个OpenCV的础操作对车牌进行了处理,大家可以对比一下效果。(其实还有很大的优化空间的)
我下载的是最下面的版本,下载好后直接安装就可以,没有什么坑。
在调用前要导入 pytesseract 包。
随后在YOLOv5项目里新建一个py文件
传入图片的路径后就可以在控制台看到最终输出的结果了。
给个赞吧~
华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。
更多推荐
【openGauss】谈谈openGauss中的raw类型
【openGauss】一种可能是目前最快的从ORACLE同步数据到MogDB(openGauss)的方式
【FAQ】HarmonyOS SDK 闭源开放能力 — Push Kit
如果在拉起方的Want中指定了uri,则Want将匹配指定的Uri信息,包括scheme、schemeSpecificPart、authority和path信息, 生命周期onCreate()或者onNewWant()里want中的uri为起方的Want中传递的uri,不传则默认为空字符串。同时,建议开发消息回执,Push服务端会将消息送达状态以回执消息形式发送给应用回执服务端,方便获取消息下达端