车牌识别之简易识别程序

代码

 I=imread('car2.jpg');
figure(1),imshow(I);title('原图')
I1=rgb2gray(I);%功能是将真彩色图像转换为灰度图像,即灰度化处理
figure(2),subplot(1,2,1),imshow(I1);title('灰度图');
figure(2),subplot(1,2,2),imhist(I1);title('灰度图直方图');
I2=edge(I1,'Prewitt',0.15,'both');
%功能是采用I作为它的输入,并返回一个与I相同大小的二值化图像BW,在函数检测到边缘的地方为1,其他地方为0
figure(3),imshow(I2);title(' Prewitt算子边缘检测')
se=[1;1;1];
I3=imerode(I2,se);%腐蚀
figure(4),imshow(I3);title('腐蚀后图像');
se=strel('rectangle',[25,25]);
I4=imclose(I3,se);
figure(5),imshow(I4);title('平滑图像的轮廓');
I5=bwareaopen(I4,2000);%作用是删除二值图像BW中面积小于2000的对象
figure(6),imshow(I5);title('从对象中移除小对象');
[y,x,z]=size(I5);
myI=double(I5);%double类型
tic  %tic用来保存当前时间,而后使用toc来记录程序完成时间Blue_y=zeros(y,1);%zeros功能是返回一个m×n×p×...的double类零矩阵for i=1:yfor j=1:xif(myI(i,j,1)==1) Blue_y(i,1)= Blue_y(i,1)+1;%蓝色像素点统计 end  end       end[temp MaxY]=max(Blue_y);%Y方向车牌区域确定PY1=MaxY;while ((Blue_y(PY1,1)>=5)&&(PY1>1))PY1=PY1-1;end    PY2=MaxY;while ((Blue_y(PY2,1)>=5)&&(PY2<y))PY2=PY2+1;endIY=I(PY1:PY2,:,:);%%%%%% X方向 %%%%%%%%%Blue_x=zeros(1,x);%进一步确定x方向的车牌区域for j=1:xfor i=PY1:PY2if(myI(i,j,1)==1)Blue_x(1,j)= Blue_x(1,j)+1;               end  end       endPX1=1;while ((Blue_x(1,PX1)<3)&&(PX1<x))PX1=PX1+1;end    PX2=x;while ((Blue_x(1,PX2)<3)&&(PX2>PX1))PX2=PX2-1;endPX1=PX1-1;%对车牌区域的校正PX2=PX2+1;dw=I(PY1:PY2-8,PX1:PX2,:);t=toc;
figure(7),subplot(1,2,1),imshow(IY),title('行方向合理区域');
figure(7),subplot(1,2,2),imshow(dw),title('定位剪切后的彩色车牌图像')
imwrite(dw,'dw.jpg');
a=imread('dw.jpg');
b=rgb2gray(a);%功能是将真彩色图像转换为灰度图像,即灰度化处理
imwrite(b,'1.车牌灰度图像.jpg');
figure(8);subplot(3,2,1),imshow(b),title('1.车牌灰度图像')
g_max=double(max(max(b)));
g_min=double(min(min(b)));
T=round(g_max-(g_max-g_min)/3); % T 为二值化的阈值   向最近的方向取整
[m,n]=size(b);
d=(double(b)>=T);  % d:二值图像
imwrite(d,'2.车牌二值图像.jpg');
figure(8);subplot(3,2,2),imshow(d),title('2.车牌二值图像')
figure(8),subplot(3,2,3),imshow(d),title('3.均值滤波前')% 均值滤波处理
h=fspecial('average',3);
d=im2bw(round(filter2(h,d)));%filter2(B,X),B为滤波器.X为要滤波的数据,这里将B放在X上,一个一个移动进行模板滤波.
imwrite(d,'4.均值滤波后.jpg');
figure(8),subplot(3,2,4),imshow(d),title('4.均值滤波后')
se=eye(2);%产生m×n的单位矩阵
[m,n]=size(d);
if bwarea(d)/m/n>=0.365 %bwarea是计算二值图像中对象的总面积的函数d=imerode(d,se);%腐蚀
elseif bwarea(d)/m/n<=0.235d=imdilate(d,se);%膨胀
end
imwrite(d,'5.膨胀或腐蚀处理后.jpg');
figure(8),subplot(3,2,5),imshow(d),title('5.膨胀或腐蚀处理后')

实验结果图(识别成功率比较低 仅供学习)

实验用图

实验所用样本库
下载地址
使用时将 D:\MATLAB2018\bin\样品库\ 改为自己放样品库的位置

MATLAB--数字图像处理 车牌识别之简易识别程序相关推荐

  1. MATLAB数字图像处理 大作业:人脸表情识别

    一.课程设计任务 运用已掌握的知识以及查阅相关资料,设计方案能够识别人脸表情中的高兴.厌恶.生气.悲伤.面无表情这五类表情. 二.课程设计原理及设计方案 2.1整体原理 本系统是基于PCA算法的人脸特 ...

  2. MATLAB 数字图像处理---车牌简单识别【亲测有效】

    文章内容:利用 MATLAB 对图像进行简单处理,包括图像的模糊.锐化.和直方图均衡化:对图像进行边缘检测:并对利用 MATLAB 对图像中的数字提取识别. 目录 1 MATLAB 对图像进行简单处理 ...

  3. matlab编写识别手写数字_MATLAB--数字图像处理 车牌识别之简易识别程序

    车牌识别之简易识别程序 代码 I=imread('car2.jpg'); figure(1),imshow(I);title('原图') I1=rgb2gray(I);%功能是将真彩色图像转换为灰度图 ...

  4. 数字图像处理——车牌识别(matlab)

    本次大报告利用MATLAB函数功能,设计和实现了一个车牌识别系统.车牌识别系统的基本原理为:将手机拍摄到的包含车辆牌照的图像输入到计算机中进行预处理,再对牌照进行搜索.检测.定位,并分割出包含牌照字符 ...

  5. 《精通Matlab数字图像处理与识别》一6.2 傅立叶变换基础知识

    本节书摘来自异步社区<精通Matlab数字图像处理与识别>一书中的第6章,第6.2节,作者 张铮 , 倪红霞 , 苑春苗 , 杨立红,更多章节内容可以访问云栖社区"异步社区&qu ...

  6. matlab对于处理数字图像的优点,学习MATLAB数字图像处理经验谈

    学习MATLAB数字图像处理经验谈 学习数字图像处理经验谈 (赵小川) 一.面向应用:层层分解.抓住要点 我们学习数字图像处理的最终目的还是应用,不管是用它来研制产品还是研发项目抑或是研究课题,都要用 ...

  7. MATLAB数字图像处理系统-形状分类

    MATLAB数字图像处理系统-形状分类 摘 要 数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人 ...

  8. MATLAB数字图像处理复习概览

    MATLAB数字图像处理 第1章 绪论 数字图像的概念 数字图像处理 第2章 数字图像处理基础 数字图像的生成与表示 数字图像的数值描述 第3章 图像基本运算 图像几何变换 几何变换基础 位置变换 几 ...

  9. matlab fspeical,MATLAB数字图像处理.doc

    MATLAB数字图像处理 MATLAB常用图像操作 转换图像类型 例1.对一幅图像进行二值化处理,代码及结果如下: load trees BW=im2bw(X,map,0.4); imshow(X,m ...

最新文章

  1. 网络编程常见问题总结
  2. linux deepin “debconf: DbDriver “config“: config.dat 被另一个进程锁定:资源暂时不可用“
  3. php设置路径别名,react设置文件路径别名的具体方法你知道么
  4. android lrc 歌词显示,Android歌词 AndroidLrc歌词
  5. 有了MDL锁视图,业务死锁从此一目了然
  6. HCIE-Security Day10:6个实验理解VRRP与可靠性
  7. 大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建
  8. live2d模型二次开发
  9. 仿照LFW的pair.txt生成自己数据集的txt文件
  10. 如何在 Ubuntu 上转换图像、音频和视频格式
  11. 【Pyecharts50例】GEO航线图/lines
  12. helix server配置教程
  13. 志强系列的服务器能吃鸡吗,性能芯变化!三款至强E5 V3服务器体验
  14. python调用大漠多线程_大漠插件多线程绑定窗口登录游戏、程序全停、单停、恢复...
  15. 先试后买!解析购物新体验背后的移动AI+AR技术
  16. 《java并发编程实战》第11章-性能与可伸缩性
  17. 聚焦新零售 阿里云重磅推出零售云
  18. Categories(分类,类别)
  19. 51Nod 2075 图书管理员 c/c++题解
  20. OpenGL-雾Fog-实例

热门文章

  1. 天梯赛(2020题目集)
  2. 测试用例设计方法有哪些?举例说明
  3. 《信息化项目软件运维费用测算规范》等两项北京地标正式报批
  4. PyHook3安装(亲测有用)
  5. 美军征集降落伞RFID跟踪系统信息
  6. Richardson成熟度模型(Richardson Maturity Model) - 通往真正REST的步骤
  7. WINDOS 的DLL文件原理
  8. ISE网表逆向分析与使用技巧
  9. excel函数提取计算机登录名,EXCEL常用函数应用实例:如何提取姓名中的姓
  10. linux驱动器和分区的备份,使用dd命令示例