master_opencv关于车牌识别工程框架整理

来源:互联网 发布:句读知不知是什么意思 编辑:程序博客网 时间:2024/05/01 09:50

最近学习master_opencv中第五章关于车牌识别的部分,想整理一个算法的框架出来,方便自己回顾的同时如果能给大家带来一点帮助,也算是对自己的鼓励吧。

整个算法分成两个阶段:1.车牌获取;2.车牌识别。在它们之下又分了不同的版块。


一.车牌检测部分:

1.车牌检测

车牌的检测主要是一些基础的数字图像处理,包括高斯滤波,sobel求取梯度边缘,形态学膨胀,提取图形轮廓,漫水填充算法精确定位车牌位置。

步骤如下:

输入:包含车牌的图片;

a. RGB图转灰度图;

b. 高斯滤波,去除噪声;

c. sobel 算子求取梯度边缘;

d. 阈值处理;

e 形态学膨胀 (车牌区域会被膨胀而形成一块联通的区域);

f. 提取图像轮廓 ;

g. 漫水填充算法更加精确的锁定车牌位置(基于车牌的背景色单一);

输出: 疑似的车牌区域集合。

2.车牌分割

基于车牌检测部分得到的疑似车牌区域集合,分割出这些区域,并对这些区域进行几何图形变换,直方图均衡,使得到的数据标准化,更有益于SVM模型的训练。

a. 根据标准车牌的长宽比,设定一个误差范围,验证疑似车牌区域,剔除明显不是车牌的区域;

b. 对剩余区域进行几何图形变换(仿射变换),对形状进行标准化;

c. 直方图均衡,增强对比度。

3.基于SVM的车牌验证

a. 特征提取(文中只是简单的利用图像的灰度值作为特征,还有其他特征可以作为选择:一阶差分特征,LBP,gabor特征等)

b.offline 训练模型

c. online测试模型


二.车牌识别部分:

1.字符分割

对之前SVM模型线上检测后得到的正确车牌进行字符分割,得到单个的字符,以便进一步进行识别。

a. 灰度图转换;

b. 阈值处理得到二值图像;

c. 提取图像轮廓 ;

d. 字符验证

2.基于ANN算法的OCR

a. 特征提取(低分辨率的图像,水平方向累积直方图,垂直方向累积直方图)

b. offline训练ANN 模型

c. online 测试 ANN 模型

1 0
原创粉丝点击