77范文网 - 专业文章范例文档资料分享平台

matlab车牌识别课实验报告计报告(附源代码20)(2)

来源:网络收集 时间:2018-11-23 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

图2.4黑白图像

2.5取得最佳阈值,将图像二值化:

二值图像是指整幅图像画面内仅黑、白二值的图像。在实际的车牌处理系统中,进行图像二值变换的关键是要确定合适的阀值,使得字符与背景能够分割开来,二值变换的结果图像必须要具备良好的保形性,不丢掉有用的形状信息,不会产生额外的空缺等等。车牌识别系统要求处理的速度高、成本低、信息量大,采用二值图像进行处理,能大大地提高处理效率。阈值处理的操作过程是先由用户指定或通过算法生成一个阈值,如果图像中某中像素的灰度值小于该阈值,则将该像素的灰度值设置为0或255,否则灰度值设置为255或0。

fmax1=double(max(max(Egray)));%egray的最大值并输出双精度型 fmin1=double(min(min(Egray)));%egray的最小值并输出双精度型 level=(fmax1-(fmax1-fmin1)/3)/255;%获得最佳阈值 bw22=im2bw(Egray,level);%转换图像为二进制图像 bw2=double(bw22);

figure,imshow(bw2);title('图像二值化');%得到二值图像

6

图2.5二值图像

2.6边缘检测:

两个具有不同灰度值的相邻区域之间总存在边缘,边缘就是灰度值不连续的结果,是图像分割、纹理特征提取和形状特征提取等图像分析的基础。为了对有意义的边缘点进行分类,与这个点相联系的灰度级必须比在这一点的背景上变换更有效,我们通过门限方法来决定一个值是否有效。所以,如果一个点的二维一阶导数比指定的门限大,我们就定义图像中的次点是一个边缘点,一组这样的依据事先定好的连接准则相连的边缘点就定义为一条边缘。经过一阶的导数的边缘检测,所求的一阶导数高于某个阈值,则确定该点为边缘点,这样会导致检测的边缘点太多。可以通过求梯度局部最大值对应的点,并认定为边缘点,去除非局部最大值,可以检测出精确的边缘。一阶导数的局部最大值对应二阶导数的零交叉点,这样通过找图像强度的二阶导数的零交叉点就能找到精确边缘点。

grd=edge(bw2,'canny')%用canny算子识别强度图像中的边界 figure,imshow(grd);title('图像边缘提取');%输出图像边缘

图2.6像边缘提取

2.7对得到图像作开操作进行滤波:

数学形态非线性滤波,可以用于抑制噪声,进行特征提取、边缘检测、图像分割等图像处理问题。腐蚀是一种消除边界点的过程,结果是使目标缩小,孔洞增大,因而可有效的消除孤立噪声点;膨胀是将与目标物体接触的所有背景点合并到物体中的过程,结果是使目标增大,孔洞缩小,可填补目标物体中的空洞,形成连通域。先腐蚀后膨胀的过程称为开运算,它具有消除细小物体,并在纤细处分离物体和平滑较大物体边界的作用;先膨胀后腐蚀的过程称为闭运算,具有填充物体内细小空洞,连接邻近物体和平滑边界的作用。对图像做了开运算和闭运算,闭运算可以使图像的轮廓线更为光滑,它

7

通常用来消掉狭窄的间断和长细的鸿沟,消除小的孔洞,并弥补轮廓线中的断裂。 bg1=imclose(grd,strel('rectangle',[5,19]));%取矩形框的闭运算 figure,imshow(bg1);title('图像闭运算[5,19]');%输出闭运算的图像 bg3=imopen(bg1,strel('rectangle',[5,19]));%取矩形框的开运算 figure,imshow(bg3);title('图像开运算[5,19]');%输出开运算的图像 bg2=imopen(bg3,strel('rectangle',[19,1]));%取矩形框的开运算 figure,imshow(bg2);title('图像开运算[19,1]');%输出开运算的图像

图2.7.1闭运算的图像 图2.7.2开运算的图像

图2.7.3开运算的图像

2.8对二值图像进行区域提取,并计算区域特征参数。进行区域特征参数比较,提取车牌区域:

a.对图像每个区域进行标记,然后计算每个区域的图像特征参数:区域中心位置、最小包含矩形、面积。

[L,num] = bwlabel(bg2,8);%标注二进制图像中已连接的部分 Feastats = imfeature(L,'basic');%计算图像区域的特征尺寸 Area=[Feastats.Area];%区域面积

BoundingBox=[Feastats.BoundingBox];%[x y width height]车牌的框架大小 RGB = label2rgb(L, 'spring', 'k', 'shuffle'); %标志图像向RGB图像转换 figure,imshow(RGB);title('图像彩色标记');%输出框架的彩色图像

8

图2.8.1彩色图像

b. 计算出包含所标记的区域的最小宽和高,并根据先验知识,比较谁的宽高比更接近实际车牌宽高比,将更接近的提取并显示出来。

计算矩形的宽度 计算矩形的高度 框架的宽度和高度的范围 车牌的开始列 车牌的开始行 计算车牌长宽比 获取车牌二值子

程序流程图 图2.8.2灰度子图和二值子图

2.9对水平投影进行峰谷分析:

对水平投影进行峰谷分析,计算出车牌上边框、车牌字符投影、车牌下边框的波形峰上升点、峰下降点、峰宽、谷宽、峰间距离、峰中心位置参数。 histcol1=sum(sbw1); %计算垂直投影 histrow=sum(sbw1'); %计算水平投影

figure,subplot(2,1,1),bar(histcol1);title('垂直投影(含边框)');%输出垂直投影 subplot(2,1,2),bar(histrow); title('水平投影(含边框)');%输出水平投影

9

图2.9.1垂直投影和水平投影

figure,subplot(2,1,1),bar(histrow); title('水平投影(含边框)');%输出水平投影 subplot(2,1,2),imshow(sbw1);title('车牌二值子图');%输出二值图

对水平投影进行峰谷分析: 求水平投影的平均值 求水平投影的最小值 取阈值 计算谷宽度 计算峰距离 计算下降点 找到峰中心位置 图2.9.2水平投影和二值图 程序流程图

2.10计算车牌旋转角度:

a.车牌倾斜的原因导致投影效果峰股谷不明显,在这里需要做车牌矫正处理。这里采取的线性拟合的方法,计算出车牌上边或下边图像值为1的点拟合直线与水平X轴的夹角。

10

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库matlab车牌识别课实验报告计报告(附源代码20)(2)在线全文阅读。

matlab车牌识别课实验报告计报告(附源代码20)(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/303085.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: