2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 【OpenCV学习笔记】【教程翻译】五 (车牌识别之OCR分割)

【OpenCV学习笔记】【教程翻译】五 (车牌识别之OCR分割)

时间:2023-03-20 04:02:59

相关推荐

【OpenCV学习笔记】【教程翻译】五 (车牌识别之OCR分割)

车牌识别:

车牌识别的第二步主要是提取出车牌中的字符。对于每个被检测出的车牌,我们对车牌进行分割获取每个字符,然后用神经网络机器学习算法实现字符的识别。在这个过程中,我们也可以学习到如何评估一个分类算法。

OCR分割:

首先,我们将车牌图像作为具有直方图均衡化功能的OCR分割函数的输入。然后我们使用阈值滤波器处理,处理后的图像作为FindContours算法的输入,我们可以通过下面的图片看一下此过程:

分割过程的代码如下:

我们使用CV_THRESH_BINARY_INV参数来反转阈值输出图像,将白色的输出值变黑,将黑色的变白。这需要得到每个字符的轮廓,因为轮廓算法找的是白色像素。

对于每个被检测到轮廓,我们可以做一个尺寸验证用来剔除所有尺寸较小或者宽和高比例不正确的轮廓。在我们的例子中,字母的宽高比例为45/77。我们可以允许因旋转或扭曲导致的35%以内的误差。如果一个区域的黑色像素占到80%以上,我们认为这个区域是个黑块,没有字符存在。对于某个区域的计数统计,我们可以使用countNonZero函数来对非零的像素点进行计数。

如果已经确定了分割的字符,我们需要对他们进行预处理,将所有的字符设置成相同的尺寸和位置,把它存放在辅助(auxiliary)的CharSegment类的一个向量当中。这个类保存着被分割字符图像和位置信息,需要存储位置信息主要是因为我们需要整理这些字符,因为寻找轮廓算法并不返回我们想要的有序的轮廓。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。