代码贴:OpenCV实战5 车牌号识别_opencv车牌字符识别_爱钓鱼的歪猴的博客-CSDN博客
目录
1、效果
2、代码思路
0、准备车配字符模板图片以及字符文件
1、对整图进行预处理 得到突出车牌的cany边缘图
2、车牌字体联通在一起,形成一个区域
3、筛选出车牌区域的轮廓,并从原图中扣出该区域
4、获取车牌字符轮廓的准备
5、获取字符轮廓
6、单个字符与字符模板图进行匹配
7、再原图上打印结果
1、效果
2、代码思路
0、准备车配字符模板图片以及字符文件
1、对整图进行预处理 得到突出车牌的cany边缘图
先转灰度图
再进行开操作,消除较小联通域(车配字被平滑掉)
灰度图-开操作图,车牌字会变得格外清晰
用Canny算子进行边缘检测
2、车牌字体联通在一起,形成一个区域
X方向进行膨胀,车牌字符连在一起。x方向进行腐蚀避噪音区域过大
Y方向进行腐蚀,消除一些噪音; 然后膨胀(这里没效果)
然后经过两次平滑处理,适当扩大车牌区域
3、筛选出车牌区域的轮廓,并从原图中扣出该区域
找出上一步结果图所有轮廓,车牌的宽高比大约为3.3,以此筛除车牌区域的轮廓
从原图将该区域扣出来
4、获取车牌字符轮廓的准备
灰度化,大津阈值化
通过阈值图减去x方向腐蚀图,再减去y方向腐蚀图,去除车牌字符的四周的一些噪音
通过形态学闭操作,弥合较小联通域,使得车牌的汉字左右两边联通在一起
5、获取字符轮廓
获取上一部结果图的所有轮廓,以轮廓面积大于100、轮廓外接矩形框高宽比大于1做筛选,得到所有字符的轮廓
对字符轮廓的x坐标进行冒泡排序,得到正确顺序的车牌字符轮廓
6、单个字符与字符模板图进行匹配
上面一行是车牌字符,下面一排是模板图,都是相同大小,都是处理成黑底白字
逐像素相减,剩下的白色像素越少两图越接近