智能网联汽车概论--课程设计2--车牌号码识别.docx
《智能网联汽车概论--课程设计2--车牌号码识别.docx》由会员分享,可在线阅读,更多相关《智能网联汽车概论--课程设计2--车牌号码识别.docx(15页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、课程设计车牌号码识别利用MATLAB对车牌号码进行识别。车牌号码识别步骤主要包括原始图像采集、车牌切割、字符切割和字符识别,其中车牌切割又包括灰度变换、边缘检测、图像腐蚀、图像膨胀、删除小面积对象、车牌定位切割;字符切割又包括定位切割后的车牌图像灰度处理、直方图均衡化、图像二值化处理、中值滤波、分割字符。本例车牌号码识别具体步骤如下。(1)读取车牌原始图像。(2)原始图像灰度变换。(3)灰度图像边缘检测。(4)图像腐蚀。(5)图像膨胀。(6)删除小面积对象。(7)车牌定位切割。(8)定位切割后的车牌图像灰度处理。(9)灰度图像直方图均衡化。(10)图像二值化处理。(11)图像中值滤波。(12)
2、字符分割。(13)字符显示和创建。(14)车牌号码识别结果显示。利用MATLAB编写子程序函数my_imsplit,并储存于my_imsplit.m文件中。12345678910111213141516171819function split_img = my_imsplit( img )m, n = size(img);top = 1;bottom = m;left = 1;right = n;while sum(img(top, :) = 0 & top = 1 bottom = bottom -1;endwhile sum(img(:, left) = 0 & left = 1 righ
3、t = right - 1;endwidth = right - left;height = bottom - top;split_img = imcrop(img, left top width height);end%定义图像分割函数%获取图像大小%参数赋值%获取图像顶部位置%获取图像顶部位置%获取图像顶部位置%获取图像底部位置%获取图像底部位置%获取图像底部位置%获取图像左边界%获取图像左边界%获取图像左边界%获取图像右边界%获取图像右边界%获取图像右边界%获取图像宽度%获取图像高度%切割图像结束利用MATLAB编写子程序函数getword,并储存于getword.m文件中。123456
4、78910111213141516171819202122232425262728293031function word, result =getword( img ) word=;flag=0; y1=8; y2=0.5; while fla =0 m, n=size(img); width=0; while sum(img(:, width+1)=0 & width=n-2 width=width + 1; end temp= my_imsplit(imcrop(img, 1,1,width,m); m1, n1=size(temp); if width y2 img(:, 1, widt
5、h)=0; if sum(sum(img)=0 img= y_imsplit(img); else word=; flag=1; end else word=my_imsplit(imcrop(img, 1, 1, width, m); img(:,1: width)=0; if sum(sum(img)=0 img=my_imsplit(img); flag=1; else img=; end end end result=img;end%定义字符分割函数%参数赋值%判断flag是否等于0%获取字符大小%设置符号宽度为0%判断字符宽度%字符宽度加1%判断结束%调用字符在切割函数%获取字符大小
6、%判断字符宽度%切割字符宽度%判断字符宽度是否不等于0%切割最小字符%否则%赋值%赋值%结束%否则%调取字符再切割函数%切割字符%判断字符宽度是否等于0%切割最小字符%赋值%否则%赋值%结束%结束%结束%赋值结束利用MATLAB编写车牌号码识别主程序。123456filename, filepath=uigetfile(.jpg, 输入要识别的图像);file=strcat(filepath, filename);img=imread(file);figure(1)imshow(img)title(原始图像)%输入原始图像%横向连接字符串%读取图像文件%设置图形窗口1%显示原始图像%原始图形标
7、注读取车牌原始图像7891011121314img1=rgb2gray(img);figure(2)subplot(1, 2, 1)imshow(img1)title(灰度图像)subplot(1, 2, 2)imhist(img1)title(灰度图像直方图)%img图像转为灰度图像%设置图形窗口2%设置图形位置%显示灰度图像%灰度图像标注%设置图形位置%提取img1图像直方图信息%灰度图像直方图标注原始图像灰度变换15161718img4=edge(img1, roberts, 0.15, both);figure(3)imshow(img4)title(边缘检测后的图像)% img1图像
8、边缘检测%设置图形窗口3%显示边缘检测后的图像%边缘检测后的图像标注灰度图像边缘检测1920212223se=1;1;1;img5=imerode(img4, se);figure(4)imshow(img5)title(腐蚀后的图像)%设置se初值%img4图像腐蚀%设置图形窗口4%显示腐蚀后的图像%腐蚀后的图像标注图像腐蚀2425262728se=strel(rectangle, 30, 30);img6=imclose(img5, se);figure(5)imshow(img6)title(膨胀后的图像)%计算se%img5图像膨胀%设置图形窗口5%显示膨胀后的图像%膨胀后的图像标注图
9、像膨胀29303132img7=bwareaopen(img6, 2200);figure(6)imshow(img7)title(删除小面积后的图像)%删除小于2200的图像%设置图形窗口6%显示删除小面积后的图形%删除小面积后的图形标注删除小面积对象333435363738394041424344454647484950515253545556575859606162636465666768697071y, x, z=size(img7);img8=double(img7);blue_Y=zeros(y, 1);for i=1:y for j=1:x if(img8(i, j)=1) bl
10、ue_Y(i, 1) = blue_Y(i, 1) + 1; end endendimg_Y1=1;while (blue_Y(img_Y1) 5) & (img_Y1 y) img_Y1=img_Y1 + 1;endimg_Y2=y;while (blue_Y(img_Y2) img_Y1) img_Y2=img_Y2 - 1;endblue_X=zeros(1, x);for j=1:x for i=1:y if(img8(i, j)=1) blue_X(1, j)=blue_X(1, j) + 1; end endendimg_X1=1;while (blue_X(1, img_X1)
11、5) & (img_X1 x) img_X1=img_X1 + 1;endimg_X2=x;while (blue_X(1, img_X2) img_X1) img_X2 = img_X2 - 1;endimg9=img(img_Y1:img_Y2, img_X1:img_X2, :);figure(7)imshow(img9)title(定位切割后的车牌图像)imwrite(img9, 车牌图像.jpg)%获取img7图像大小%img7转成双精度浮点型%Y方向生成全零矩阵%变量i循环开始%变量j循环开始%判断车牌位置区域%像素点统计%判断结束%变量j循环结束%变量i循环结束%设Y坐标最小值为
12、1%判断Y方向值%增加坐标值%判断结束%设Y坐标最大值为y%判断Y方向值%减小坐标值%判断结束%X方向生成全零矩阵%变量j循环开始%变量i循环开始%判断车牌位置区域%像素点统计%判断结束%变量i循环结束%变量j循环结束%设X坐标最小值为1%判断X方向值%增加坐标值%判断结束%设X坐标最大值为y%判断X方向值%减小坐标值%判断结束%确定X、Y最小值和最大值%设置图形窗口7%显示定位后的车牌图像%定位后的车牌图像标注%保存定位切割后的车牌图像车牌定位切割727374757677787980plate_img=imread(车牌图像.jpg);plate_img1=rgb2gray(plate_im
13、g); figure(8)subplot(1, 2, 1)imshow(plate_img1)title(灰度图像)subplot(1, 2, 2)imhist(plate_img1)title(灰度图像直方图)%读取定位切割后的车牌图像%转换成灰度图像%设置图形窗口8%设置图形位置%显示灰度图像%灰度图像标注%设置图形位置%提取灰度图像直方图信息%灰度图像直方图标注定位切割后的车牌图像灰度处理8182838485868788plate_img2=histeq(plate_img1);figure(9)subplot(1,2,1)imshow(plate_img2)title(直方图均衡化的图
14、像)subplot(1,2,2)imhist(plate_img2)title(均衡化图像直方图)%灰度图像直方图均衡化%设置图形窗口9%设置图形位置%显示直方图均衡化的图像%直方图均衡化的图像标注%设置图形位置%提取均衡化图像直方图信息%均衡化图像直方图标注灰度图像直方图均衡化89909192plate_img3=im2bw(plate_img2, 0.76);figure(10)imshow(plate_img3)title(车牌二值化图像)%图像二值化%设置图形窗口10%显示车牌二值化图像%车牌二值化图像标注图像二值化处理93949596plate_img4=medfilt2(plate
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 汽车 概论 课程设计 车牌 号码 识别
限制150内