Python3实现简单的车牌检测
本文转载至知乎ID:Charles(白露未晞)知乎个人专栏
下载W3Cschool手机App,0基础随时随地学编程>>戳此了解
导语
Hi,好久不见~~~
两周没写东西了,从简单的开始,慢慢提高文章水准吧,下一个月开始时间就会比较充裕了~~~
利用Python实现简单的车牌检测算法~~~
让我们愉快地开始吧~~~
相关文件
网盘下载链接: https://pan.baidu.com/s/1iJmXCheJoWqpjEZdL5D3AA
密码: wjcd
开发工具
Python版本:3.6.4
相关模块:cv2模块;numpy模块。
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块即可。
原理简介
注意这不是车牌号识别,是车牌检测。
因为车牌形状比较单一,所以我参考了一些简单的传统算法实现的,没有使用深度学习。效果比较一般。不适用于复杂环境下的车牌检测。
直接调的OpenCV的函数接口,没有从0开始实现,所以总体技术含量较低。
其流程为:
Step1:
对图片进行一些预处理,包括灰度化、高斯平滑、中值滤波、Sobel算子边缘检测等等。
Step2:
利用OpenCV对预处理后的图像进行轮廓查找,然后根据一些参数判断该轮廓是否为车牌轮廓。
具体实现过程详见相关文件中的源代码。
使用演示
在cmd窗口运行detect.py文件即可。
使用前请先指定需要检测的图片路径:
效果如下:
原图1:
检测结果1:
原图2:
检测结果:
原图3:
检测结果3:
That's all~
更多
车牌检测和车牌识别其实算是很成熟的技术了。
所以我做的仅代表菜鸟级水平。
随便看了一会试着写的代码。
之后会逐渐提高水准的T_T,好久不发文不太习惯了hhhh。
那就这样吧~~~
更多建议: