基于OpenCV3.0的车牌识别系统设计(二)--车牌提取

写在前面的话

上一篇开篇博文写好之后找女朋友看了一下,希望她提一点建设性建议。结果她很委婉的告诉我,写的还行就是太表面了,告诉我要注意细节的描述与具体的实现过程与原理等等。其实我只是想骗她看一下增加一下点击量,顺便知道我写的博客新手能不能看懂而已。结果她告诉我,她那么聪明当然能看懂,别人就未必能看懂了!!!吼吼吼,信了她的邪,什么时候都不忘记赞美一下她自己的小妖精。上一篇写的不好的话请各位见谅,吾理小子文笔有点差,但是我会尽自己的最大努力把自己懂的东西分享出来,希望对你有用。为了讲述清楚车牌识别的每一个环节,吾理小子决定把写好的工程源码重新解剖,在每一个环节中贴出该部分完整的代码,新手可直接拿去运行观看实际效果。各位感动吗!

进入正题,上次重点介绍了车牌识别的流程,本文来详细聊一下车牌提取的实现过程。

车牌提取方法

车牌提取通常也称为车牌定位,其目的是从含有车牌的图像中找到车牌区域。车牌定位的重要性不言而喻,作为车牌识别的第一个步骤,车牌区域的提取成功与否是完成车牌识别的基础也是首要决定因素。车牌提取的方法有很多,不同的分类方法有不同的叫法。通过对常见的几种方法的归纳总结,见下图:(编辑一张图片,喷出一口鲜血)

本文着重讲解基于颜色信息的定位方法。上图中可以看到基于彩色信息的定位方法具有准确、快速、精确等优点,对于新手也更加容易理解。通过对质量较高的原始图像进行相应处理之后,定位出车牌区域。现象明显,一气呵成。有助与新手继续研究下去。

到目前为止,关于车牌定位的问题国内外众多学者提出了很多方法,适用条件不尽相同,各有利弊。弄懂了基本的颜色定位之后,可以尝试结合其它的方法来提升车牌定位的性能。

车牌特点

说完车牌定位的方法之后,需要对我们提取的对象本身的特点进行说明。车牌的大小固定,字体格式是由国家相关部门统一规定,与一般常见的字体格式都不一样。据说是由常见的宋体字修改而来,一般民用的车牌包含数字0-9,还有全国26个省市的简称,总共是36个字符。车牌的颜色以及字体颜色如下:

蓝牌白字:普通小型车(其中包括政府机关专用号段、政法部门警车以外的行政用车)的牌照
           黄牌黑字:大型车辆、摩托车、驾校教练车牌照
           黑牌白字:涉外车辆牌照,式样和蓝牌基本相同
                  白牌:政法部门(公安、法院、检察院、国安、司法)警车、武警部队车辆、解放军军车的牌照都是白牌
                  警车:公安警车的牌照样式为[某·A1234警],除“警”为红字外其他的都是黑字,一共4位数字,含义与普通牌照相同

我们研究的目标是普通民用小型车,也就是蓝牌白字车牌。说到这里,顺便说明一下蓝牌白字车牌的颜色信息,对于正常曝光的图像而言,蓝色车牌的三个通道值大约为Blue=138,Green=63,Red=23。除了颜色信息外,车牌形状为矩形,具有固定的长宽比3:1。知道车牌的这些信息后,在使用颜色信息定位时可以做为限制条件,这样可以提高车牌定位的准确性。

车牌提取的步骤

讲完车牌提取的方法和车牌本身的特点之后,接下来仔细说明基于颜色信息的定位方法各个环节处理效果图。

第一步:读取待处理图像

首先,读取待处理的彩色图像,判断图像是否读取成功,成功时显示原始图像。最后打印图像的长和宽,方便对图像的尺寸有一个了解。

Mat OriginalImg ;
OriginalImg = imread("TestPhoto (1).jpg", IMREAD_COLOR);//读取原始彩色图像
	if (OriginalImg.empty())  //判断图像对否读取成功
	{
		cout << "错误!读取图像失败\n";
		return -1;
	}
	imshow("原图", OriginalImg); //显示原始图像
	cout << "Width:" << OriginalImg.rows << "\tHeight:" << OriginalImg.cols << endl;//打印图像长宽

运行效果

第二步:图像尺寸变换

读取

  • 73
    点赞
  • 430
    收藏
    觉得还不错? 一键收藏
  • 30
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值