本着对车牌比较感兴趣,自己在课余时间摸索关于车牌的定位与识别,现将自己所做的一些内容整理下,也方便和大家交流. 考虑到车牌的定位涉及到许多外界的因素,因此有必要对车牌照的获取条件进行一些限定: 一.大部分车牌照都是用自己的手机照的,大小在1M左右,距离车牌照距离3m左右.这样保证所获取的车牌照有一定的规律,否则随便一张是无法进行定位的. 二.本次仅针对蓝色车牌,至于其他像黄色,黑色车牌的没有做研究.感兴趣的可以自己找些资料,毕竟要做到全面,工作量还是很大的. 三. 相关的参考资料网上也挺多的,这…
接着昨天的工作,把最后一部分识别讲完. 关于字符识别这块,一种最省事的办法是匹配识别,将所得的字符和自己的标准字符库相减,计算所得结果,值最小的即为识别的结果.不过这种方法是在所得字符较为标准的情况,由于众多因素影响,切割出来的字符往往不是标准的,因此识别效果也不好.本次采用的BP神经网络方法,至于像其他的分类器方法,没有尝试,这里就不说了. 利用神经网络的方法的思路也比较清晰,将已有的字符库输入到神经网络的输入口进行训练,然后用训练好的神经网络对待识别的字符继续识别,输出识别结果.matlab…
接着上面的工作,接下去就该是进行字符分割了.考虑到为了后面的字符识别,因此在这部分需要实现的目标是需要把车牌的边框全部切除,对重新定位的车牌进行垂直方向水平方向调整,保证字符是正的.最后才是字符的分割. 1.首先上下边框切割.对定位的车牌每行作一次的差分,计算每行的综合,小于某个阈值时候将其舍去.部分代码: [length height]=size(p); % 水平方向定位 :length % 水平一阶差分 :height- revise_row(i,j)=abs(p(i,j)-p(i,j+))…
接着昨天的工作继续.定位的过程有些是基于车牌的颜色进行定位的,自己则根据数字图像一些形态学的方法进行定位的. 合着代码进行相关讲解. 1.相对彩色图像进行灰度化,然后对图像进行开运算.再用小波变换获取图像的三个分量.考虑到车牌的竖直分量较为丰富,选用竖直分量进行后续操作.注意下,这里的一些参数可能和你的图片大小有关,所以要根据实际情况调整. Image=imread('D:\1_2学习\图像处理\车牌识别\matlab_car_plate-recognization\car_example\ca…
第四篇:车牌定位 车牌定位就是采用一系列图像处理或者数学的方法从一幅图像中将车牌准确地定位出来.车牌定位提取出的车牌是整个车牌识别系统的数据来源,它的效果的好坏直接影响到整个系统的表现,只有准确地定位出车牌,才会有后续的车牌分割与字符识别. 目前车牌定位有两大类.基于灰度.基于彩色. 基于灰度: 我们采用的是基于灰度的形态学的车牌定位:首先根据车牌区域中丰富的纹理特征,提取车牌图像中垂直方向的边缘并二值化.然后对得到的二值图像进行数学形态学(膨胀.腐烛.幵闭运算等)的运算,使得车牌区域形成一个闭…
学过了数字图像处理,就进行一个综合性强的小项目来巩固一下知识吧.前阵子编写调试了一套基于MATLAB的车牌识别的项目的代码.今天又重新改进了一下代码,识别的效果好一点了,也精简了一些代码.这里没有使用神经网络等,只是用了最基础的数字图像处理算法,最后通过模板匹配,得到结果. 源码下载链接: 下载链接(注意:有两套,第二套是后来改进的,都能运行的) 运行结果: 这里读取了车牌图片目录中的第一幅图片,并显示出来了原图像:随后计算出车牌的区域,进行图像切割,单独把车牌提取出来:最后,从图像中切割出每个…
基于MATLAB的手写公式识别 图像的预处理(除去噪声.得到后续定位分割所需的信息.) 预处理其本质就是去除不需要的噪声信息,得到后续定位分割所需要的图像信息.图像信息在采集的过程中由于天气环境的影响.车牌本身的污损[13]等影响,获取的图像往往对比度和清晰度不是很理想,同时不利于后续的对车牌进行定位与分割,甚至可以影响到最后的实验结果.因此图像的预处理过程在前期图像处理方面就显得尤为必要.本课题中需要对采集后得到的图像首先进行灰度化,再对灰度图像进行拉伸处理,使得图像中的灰度分布变得均匀,从而…
一.前言及思路简析 目前车牌识别系统在各小区门口随处可见,识别效果貌似都还可以.查阅资料后,发现整个过程又可以细化为车牌定位.畸变校正.车牌分割和内容识别四部分.本篇随笔主要介绍车牌定位及畸变校正两部分,在python环境下通过opencv实现. 1.1 车牌定位 目前主流的车牌定位方法从大的方面来说可以分为两类:一种是基于车牌的背景颜色特征:另一种基于车牌的轮廓形状特征.基于颜色特征的又可分为两类:一种在RGB空间识别,另一种在HSV空间识别.经测试后发现,单独使用任何一种方法,效果均不太理想…
上一篇主要介绍了车牌识别的整体框架和流程,车牌识别主要划分为了两个过程:即车牌检测和字符识别,而车牌识别的核心环节就是这一节主要介绍的车牌定位,即 Plate Locate.车牌定位主要是将图片中有可能是车牌的区域定位出来,方便后面进一步的处理.测试代码如下: int test_plate_locate() { cout << "test_plate_locate" << endl; const string file = "resources/ima…
基于Matlab的标记分水岭分割算法 http://blog.sina.com.cn/s/blog_725866260100rz7x.html 1 综述 Separating touching objects in an image is one of the more difficult image processing operations. The watershed transform is often applied to this problem. The watershed tra…