基于matlab的车牌图像识别处理系统

代码设计

(末尾附文件)
主程序:

clc;          %清空命令行
clear all;    %清除工作空间所有变量
close all;    %关闭所有图形窗口

% ==============开始计时==============================
tic
%=====================读入图片=========================
[fn,pn,fi] = uigetfile('汽车图片\*.jpg','选择图片');%显示检索文件的对话框 fn返回的文件名 pn返回的文件的路径名 fi返回选择的文件类型 
I = imread([pn fn]);                %读入彩色图像
figure('NumberTitle','off','Name','原始图像');
imshow(I);title('原始图像');        %显示原始图像

%==================加入进度条===========================
waitbar_;

%================图像分割区域(车牌定位)==========================
picture =image_segmentation(I);
threshold=50;

%========================倾斜校正=================
[picture_1,angle] = rando_bianhuan(picture); %倾斜校正  picture 返回校正后的图片 angle 返回倾斜角度

%=========================形态学操作====================
picture_6 = xingtaixue(picture_1);%主要对图像

%=============对图像进一步裁剪,保证边框贴近字体===========
bw = caijian(picture_6);

%=================文字分割 ===================================
image=qiege(bw);

%=================显示分割图像结果================================
bb =zifu_shibie(image);
imshow(picture_1),title (['识别车牌号码:', bb],'Color','r');

%=====================导出文本===========================
fid=fopen('Data.txt','a+');
fprintf(fid,'%s\r\n',bb,datestr(now));
fclose(fid);

%===================读出声音============================
duchushengyin(bb);

% ================读取计时===================================
t= toc;

function duchushengyin(shibiejieguo)
sound(audioread('声音模板\检测结果.wav'),22000);pause(3);
for i=1:7
    if     shibiejieguo(1,i)=='桂'
           sound(audioread('声音模板\桂.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='贵'
           sound(audioread('声音模板\贵州.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='京'
           sound(audioread('声音模板\京.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='粤'
           sound(audioread('声音模板\粤.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='苏'
           sound(audioread('声音模板\苏.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='渝'
           sound(audioread('声音模板\渝.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='A'
	   sound(audioread('声音模板\A.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='B'
	   sound(audioread('声音模板\B.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='C'
	   sound(audioread('声音模板\C.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='D'
	   sound(audioread('声音模板\D.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='E'
	   sound(audioread('声音模板\E.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='F'
	   sound(audioread('声音模板\F.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='G'
	   sound(audioread('声音模板\G.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='H'
	   sound(audioread('声音模板\H.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='J'
	   sound(audioread('声音模板\J.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='K'
	   sound(audioread('声音模板\K.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='L'
	   sound(audioread('声音模板\L.wav'),22000);pause(1);   
    elseif shibiejieguo(1,i)=='M'
	   sound(audioread('声音模板\M.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='N'
	   sound(audioread('声音模板\N.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='P'
	   sound(audioread('声音模板\P.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='Q'
	   sound(audioread('声音模板\Q.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='R'
	   sound(audioread('声音模板\R.wav'),22000);pause(1); 
    elseif shibiejieguo(1,i)=='S'
	   sound(audioread('声音模板\S.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='T'
	   sound(audioread('声音模板\T.wav'),22000);pause(1);   
    elseif shibiejieguo(1,i)=='U'
	   sound(audioread('声音模板\U.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='V'
	   sound(audioread('声音模板\V.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='W'
	   sound(audioread('声音模板\W.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='X'
	   sound(audioread('声音模板\X.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='Y'
	   sound(audioread('声音模板\Y.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='Z'
	   sound(audioread('声音模板\Z.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='0'
	   sound(audioread('声音模板\0.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='1'
	   sound(audioread('声音模板\1.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='2'
	   sound(audioread('声音模板\2.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='3'
	   sound(audioread('声音模板\3.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='4'
	   sound(audioread('声音模板\4.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='5'
	   sound(audioread('声音模板\5.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='6'
	   sound(audioread('声音模板\6.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='7'
	   sound(audioread('声音模板\7.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='8'
	   sound(audioread('声音模板\8.wav'),22000);pause(1);
    elseif shibiejieguo(1,i)=='9'
	   sound(audioread('声音模板\9.wav'),22000);pause(1);
    end
end
sound(audioread('声音模板\车牌检测.wav'),22000);
function image=qiege(bw) 
[y,x] = size(bw);
bw(:,x)=1;
bw(:,1)=1;
a = sum(~bw);figure('NumberTitle','off','Name','投影'),bar(a),title('投影');
j = 1;
jj = 1;
m =0;for i = 1:x-1
    if a(i)==0&&a(i+1)~=0
        j = i;
    end
    if a(i)~=0&&a(i+1)==0
        kk=i;
    else
        kk =0;
    end
    if kk~=0
        m = m+1;
        p(m) = j;
        q(m) = kk;
    end    
end
for i = 1:m
    if p(i)<fix(x/8)
    p(i)=p(1);
    end
end
k =1;
for i = 1:m
    if (q(i) - p(i))>(fix(x/10))
        gg(k) = q(i);
        ggg(k) = p(i);
        k = k+1;
    end
end
    
figure('NumberTitle','off','Name','字符分割'),
k =1;
p = zeros(110,55);
image = {p p p p p p p};
for ii = 1:7
    p = imresize(bw(:,ggg(ii):gg(ii)), [110 55],'bilinear');
    image(ii) = mat2cell(p);
    obj = subplot(1,7,ii); imshow(p),title(obj,ii);pause(0.5);
    k = k +1;
end

链接:https://pan.baidu.com/s/1g6OJPyEKyMrK6-UaqU-YMg
提取码:wogb

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值