下载此文档

车牌识别程序.doc


文档分类:IT计算机 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
车牌识别程序% function [d]=main() close all clc % 清空命令窗口的所有输入和输出,类似于清屏% 自动弹出提示框读入图像[filename,filepath]=uigetfile('.jpg',' 输入一个需要识别的车牌图像');% 直接自动读入% %file=strcat(,filename); %strcat 函数: 连接字符串;把 filepat h 的字符串与 filename 的连接,即路径/ 文件名 I=imread(''); figure('name',' 原图'),imshow(I);title(' 原图') % 图像增强% h=ones(5,5)/25; % 过滤器 h % I=imfilter(I,h);% 真彩色增强% figure('name',' 真彩色增强');imshow(I);title(' 真彩色增强'); I1=rgb2gray(I); % RGB 图像转灰度图像 figure('name',' 灰度处理前'),subplot(1,2,1),imshow(I1);title(' 灰度处理前的灰度图'); subplot(1,2,2),imhist(I1);title(' 灰度处理前的灰度图直方图'); % 线性灰度变换 I1=imadjust(I1,[,],[]); figure('name',' 灰度处理后'),subplot(1,2,1),imshow(I1);title(' 灰度处理后的灰度图'); subplot(1,2,2),imhist(I1);title(' 灰度处理后的灰度图直方图'); % 进行中值滤波 I1=medfilt2(I1); figure,imshow(I1);title(' 中值滤波'); % 边缘检测: sobel,roberts,canny,prewitt 等 I2=edge(I1,'roberts',,'both'); % 边缘检测算法,强度小于阈值 的边缘被省略掉,'both' 两个方向检测(缺省默认) figure('name',' 边缘检测'),imshow(I2);title('rober t 算子边缘检测') se=[1;1;1]; I3=imerode(I2,se);% 腐蚀 Imerode(X,SE). 其中 X 是待处理的图像, SE 是结构元素对象 figure('name',' 腐蚀后图像'),imshow(I3);title(' 腐蚀后的图像'); se=strel('rectangle',[20,20]);% 25X25 的矩形 strel??? I4=imclose(I3,se);% 用 25*25 的矩形对图像进行闭运算( 先膨胀后腐蚀) 有平滑边界作用 figure('name',' 平滑处理'),imshow(I4);title(' 平滑图像的轮廓'); I5=bwareaopen(I4,1000);% 从二进制图像中移除所有少于 2000 像素的连接对象,消失的是连续的白色像素数量少于 2000 的字符 figure('name',' 移除小对象'),imshow(I5);title(' 从对象中移除小对象'); [y,x,z]=size(I5);% y 是行数, x 是列数, z 是维数 myI=double(I5);% 转成双精度型 tic % 开始计时 Blue_y=zeros(y,1);% zeros(M,N) 表示的是 M行*N 列的全 0 矩阵 for i=1:y for j=1:x if(myI(i,j,1)==1) %% 判断蓝色像素 Blue_y(i,1)= Blue_y(i,1)+1;% 蓝色像素点统计 end end end [temp MaxY]=max(Blue_y);% Y 方向车牌区域确定[temp MaxY] 临时变量 MaxY PY1=MaxY; % 以下为找车牌 Y 方向最小值 while ((Blue_y(PY1,1)>=5)&&(PY1>1))%% 为什么判断蓝色像素点>=5 (才算蓝色) ???? PY1=PY1-1; end PY2=MaxY; % 以下为找车牌 Y 方向最大值??? 难道最大值不是 MaxY???? while ((Blue_y(PY2,1)>=5)&&(PY2<y)) PY2=PY2+1; end % IY=I(PY1:PY2,:,:); %%%%%%%%%%%%%%%%% X 方向%%%%%%%%% Blue_x=zeros(1,x);% 进一步确定 x 方向的车牌区域 for j=1:x for i=PY1:PY2 % 只需扫描的行 if(myI(i,j,1)==1) %% 判

车牌识别程序 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数12
  • 收藏数0 收藏
  • 顶次数0
  • 上传人tmm958758
  • 文件大小0 KB
  • 时间2016-06-12