MATLAB--数字图像处理 车牌识别之简易识别程序
车牌识别之简易识别程序
代码
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--数字图像处理 车牌识别之简易识别程序相关推荐
- MATLAB数字图像处理 大作业:人脸表情识别
一.课程设计任务 运用已掌握的知识以及查阅相关资料,设计方案能够识别人脸表情中的高兴.厌恶.生气.悲伤.面无表情这五类表情. 二.课程设计原理及设计方案 2.1整体原理 本系统是基于PCA算法的人脸特 ...
- MATLAB 数字图像处理---车牌简单识别【亲测有效】
文章内容:利用 MATLAB 对图像进行简单处理,包括图像的模糊.锐化.和直方图均衡化:对图像进行边缘检测:并对利用 MATLAB 对图像中的数字提取识别. 目录 1 MATLAB 对图像进行简单处理 ...
- matlab编写识别手写数字_MATLAB--数字图像处理 车牌识别之简易识别程序
车牌识别之简易识别程序 代码 I=imread('car2.jpg'); figure(1),imshow(I);title('原图') I1=rgb2gray(I);%功能是将真彩色图像转换为灰度图 ...
- 数字图像处理——车牌识别(matlab)
本次大报告利用MATLAB函数功能,设计和实现了一个车牌识别系统.车牌识别系统的基本原理为:将手机拍摄到的包含车辆牌照的图像输入到计算机中进行预处理,再对牌照进行搜索.检测.定位,并分割出包含牌照字符 ...
- 《精通Matlab数字图像处理与识别》一6.2 傅立叶变换基础知识
本节书摘来自异步社区<精通Matlab数字图像处理与识别>一书中的第6章,第6.2节,作者 张铮 , 倪红霞 , 苑春苗 , 杨立红,更多章节内容可以访问云栖社区"异步社区&qu ...
- matlab对于处理数字图像的优点,学习MATLAB数字图像处理经验谈
学习MATLAB数字图像处理经验谈 学习数字图像处理经验谈 (赵小川) 一.面向应用:层层分解.抓住要点 我们学习数字图像处理的最终目的还是应用,不管是用它来研制产品还是研发项目抑或是研究课题,都要用 ...
- MATLAB数字图像处理系统-形状分类
MATLAB数字图像处理系统-形状分类 摘 要 数字图像处理是一门新兴技术,随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快,能更好的为人 ...
- MATLAB数字图像处理复习概览
MATLAB数字图像处理 第1章 绪论 数字图像的概念 数字图像处理 第2章 数字图像处理基础 数字图像的生成与表示 数字图像的数值描述 第3章 图像基本运算 图像几何变换 几何变换基础 位置变换 几 ...
- matlab fspeical,MATLAB数字图像处理.doc
MATLAB数字图像处理 MATLAB常用图像操作 转换图像类型 例1.对一幅图像进行二值化处理,代码及结果如下: load trees BW=im2bw(X,map,0.4); imshow(X,m ...
最新文章
- 网络编程常见问题总结
- linux deepin “debconf: DbDriver “config“: config.dat 被另一个进程锁定:资源暂时不可用“
- php设置路径别名,react设置文件路径别名的具体方法你知道么
- android lrc 歌词显示,Android歌词 AndroidLrc歌词
- 有了MDL锁视图,业务死锁从此一目了然
- HCIE-Security Day10:6个实验理解VRRP与可靠性
- 大数据应用之Windows平台Hbase客户端Eclipse开发环境搭建
- live2d模型二次开发
- 仿照LFW的pair.txt生成自己数据集的txt文件
- 如何在 Ubuntu 上转换图像、音频和视频格式
- 【Pyecharts50例】GEO航线图/lines
- helix server配置教程
- 志强系列的服务器能吃鸡吗,性能芯变化!三款至强E5 V3服务器体验
- python调用大漠多线程_大漠插件多线程绑定窗口登录游戏、程序全停、单停、恢复...
- 先试后买!解析购物新体验背后的移动AI+AR技术
- 《java并发编程实战》第11章-性能与可伸缩性
- 聚焦新零售 阿里云重磅推出零售云
- Categories(分类,类别)
- 51Nod 2075 图书管理员 c/c++题解
- OpenGL-雾Fog-实例