课程设计。
基于matlab的车牌识别系统。
一.设计题目。
基于matlab的车牌识别系统设计。
二.设计目标。
车牌识别系统的摄像头通过对经过指定区域的机动车辆进行拍照,因为**会受到光照、拍摄位置和车辆行驶速度的影响,导致拍摄的**不能准确的确定汽车的车牌。而车牌识别系统就通过对机动车辆的**进行图像预处理、车牌定位、字符分割、字符识别等技术手段,从而得到清晰的机动车牌照的**,从而提高现代智能交通的管理效率,可以说车牌识别系统对于现代智能交通至关重要。
三.设计要求。
1. 了解车牌识别系统性能。
2. 软件设计流程。
3. 利用matlab软件编写程序,并对系统进行**,给出各部分波形及频谱图。
四.设计原理。
汽车牌照识别(lpr)系统通过引入数字摄像技术和计算机信息管理技术,采用先进的图像处理、模式识别和人工智能技术,通过对图像的采集和处理,获得更多的信息,从而达到更高的智能化管理程度。在lpr 系统产品的性能指标中,识别率和识别速度难以同时提高其中原因既包括图像处理技术不够成熟,又受到摄像设备计算机等性能的限制。因此,研究高速准确的定位与识别算法,是当前的主要任务。
汽车车牌自动识别系统主要包括触发拍照、图像采集、图像预处理、车牌定位、字符分割、字符识别、输出结果等单元。
触发拍照:该单元会自动检测车辆在指定区域的存在,现有的成熟技术的有线圈触发、**触发、红外触发、雷达触发以及激光触发。其中线圈触发和**触发得到了广泛的应用。
图像采集:该单元是指道路上安装的摄像头在检测到有车辆通过的同时进行拍照并借助网络传送到汽车自动识别系统。
图像预处理:该单元是指车牌识别系统对拍摄的汽车**进行灰度化和边缘检测等处理。在外界光照不均匀,光照强度不稳定的情况下,通过摄像机采集到的车牌原始图像会模糊不清,因此需要对其进行图像增强的处理;在外界环境噪声以及电子器件自身产生的噪声干扰下,车牌图像质量会有所下降,因此需要对原图像进行去噪处理等等。
以上所做的这些处理均属于图像预处理的工作。
车牌定位:是指对预处理过的汽车**进行处理,把车牌部分进行定位,把无用的部分去除,得到定位好的车牌**。在一张完整的车辆图像中,大部分区域都是背景图像,对识别工作毫无意义,我们可以将背景区域视为无用区域,并设法将其去除,即从复杂的背景图像中准确的定位并分割出车牌区域图像,从原图像中提取出需要的部分舍弃不需要的部分,以便节省系统识别时间,这也是车牌定位分割的目的及意义所在。
在定位分割的过程中要保证不能把非车牌区域误判为车牌区域,也不能漏检车牌区域,否则后继的工作将无法进行。
字符分割:对已经定位的车牌**的进行字符分割,将车牌分割为7个单一的字符**。被分离出的车牌区域图像,系统并不能直接对其进行识别,还需要将车牌上的每一个字符都独立的完整的分割出来,即从车牌区域图像中将车牌上所包含的每一个字符都切分出来,使其成为不具有任何相关性的单个字符图像,再由系统分别对每个字符进行识别,在对字符进行切分时,要注意保证每个字符的完整度。
字符识别:车牌字符识别是最为关键的一步,前面对车牌图像所做的处理都是为了完成最终的识别。系统输入的是单个的字符图像,输出的却是文本格式的完整的车牌号码,车牌字符识别的准确率直接反映出车牌识别系统性能的好坏。
输出结果:输出识别结果,并进行数据存储。
对于车牌识别系统而言,以上的每一个步骤都是必不可少的,并且后一步骤均是建立在前面步骤的基础之上进行的,因此,只有确保做好每一步才能顺利完成系统最终的识别工作。
五.程序**:
clear ;
close all;
step1 获取图像装入待处理彩色图像并显示原始图像。
scolor = imread(' e:\'imread函数读取图像文件,m*n*3,1,2,3代表rgb三个分量 35 28
将彩色图像转换为黑白并显示。
sgray = rgb2gray(scolor);%rgb2gray转换成灰度图,m*n
figure,imshow(scolor),title('原始彩色图像');
figure,imshow(sgray),title('原始黑白图像');figure命令新建一个窗口显示图像。
step2 图像预处理对sgray 原始黑白图像进行开操作得到图像背景。
s=strel('disk',20);%strel函数构造结构元素灰度图像的形态学处理。
bgray=imopen(sgray,s);%打开sgray s图像。
figure,imshow(bgray);title('背景图像');输出背景图像。
用原始图像与背景图像作减法,增强图像。
egray=imsubtract(sgray,bgray);%两幅图相减。
figure,imshow(egray);title('增强黑白图像');输出黑白图像。
step3 取得最佳阈值,将图像二值化。
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('图像二值化');得到二值图像。
step4 对得到二值图像作开闭操作进行滤波。
grd=edge(bw2,'canny')%用canny算子识别强度图像中的边界。
figure,imshow(grd);title('图像边缘提取');输出图像边缘。
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]')输出开运算的图像。
step5 对二值图像进行区域提取,并计算区域特征参数。进行区域特征参数比较,提取车牌区域。
l,num] =bwlabel(bg2,8);%标注二进制图像中已连接的部分。
feastats = imfeature(l,'basic');计算图像区域的特征尺寸。
feastats = regionprops(l,'basic');计算图像区域的特征尺寸。
area=[区域面积。
boundingbox=[ y width height]车牌框架大小。
rgb = label2rgb(l, 'spring', k', shuffle');标志图像向rgb图像转换。
figure,imshow(rgb);title('图像彩色标记');输出框架的彩色图像。
lx=0;for l=1:num%找出车牌区域。
width=boundingbox((l-1)*4+3);%框架宽度的计算。
hight=boundingbox((l-1)*4+4);%框架高度的计算。
if (width>98 & width<150 & hight>25 & hight<50)%框架的宽度和高度的范围。
lx=lx+1
getok(lx)=l;
endend
for k= 1:lx
l=getok(k);
startcol=boundingbox((l-1)*4+1)-2;%开始列。
startrow=boundingbox((l-1)*4+2)-2;%开始行。
width=boundingbox((l-1)*4+3)+8;%车牌宽。
hight=boundingbox((l-1)*4+4)+2;%车牌高。
rato=width/hight;%计算车牌长宽比。
if rato>2 & rato<4
break;
endend
sbw1=bw2(startrow:startrow+hight,startcol:startcol+width-1); 获取车牌二值子图。
subcol1=sgray(startrow:startrow+hight,startcol:startcol+width-1);%获取车牌灰度子图。
figure,subplot(2,1,1),imshow(subcol1);title('车牌灰度子图');输出灰度图。
subplot(2,1,2),imshow(sbw1);title('车牌二值子图');输出车牌的二值图。
step6 计算车牌水平投影,并对水平投影进行峰谷分析。
histcol1=sum(sbw1); 计算垂直投影。
histrow=sum(sbw1计算水平投影。
figure,subplot(2,1,1),bar(histcol1);title('垂直投影(含边框)')输出垂直投影。
subplot(2,1,2),bar(histrow); title('水平投影(含边框)')输出水平投影。
figure,subplot(2,1,1),bar(histrow); title('水平投影(含边框)')输出水平投影。
通信原理课程设计题目
样题 题目一 每组3人 1 结合通信系统原理框图,利用实验设备完成数字基带信号传输系统 数字频带信号传输系统 fsk psk等 的硬件设计。2 将计算机作为信源和信宿,通过编程,利用pc机串口实现信号的发送和接收。3 要求学生画出系统框图 程序流程图,并经上机调试完成。编写课程设计报告书 说明书 题...
通信原理课程设计题目
通信原理课程设计是 通信原理 理论课的辅助环节。着重体现通信原理教学知识的运用,培养学生主动研究的能力。它以小型课题方式来加深 扩展通信原理所学知识。通信原理课程设计 通过使用 matlab,对已经学习过的通信系统进行 从而进一步深化对通信原理知识的学习。1 掌握matlab的基本知识 matlab...
通信原理课程设计题目
6 增量调制 m 设计。八 扩频通信系统的 分析包括以下可选内容 1 基于m序列的直接序列扩频系统的 发射机设计。2 基于m序列的直接序列扩频系统的 接收机设计。3 基于m序列的直接序列扩频系统的抗噪声性能 4 m序列产生器的设计。5 基于m序列的直接序列扩频系统的抗噪声性能 6.gold码产生器设...