%function carreco
clc;
clear all;
%================================================== === =========
%阐明:
%
%
%================================================== === =========
% ===============确定算法的执行时间和开始计时 =================
tic
%======================读入图片======================== == =======
[fn,pn,fi]=uigetfile(‘*.jpg’,’选择图片’);
I=imread([pn fn]);figure,imshow(I);title(‘原始图像’);%显示原始图像
chepailujing=[pn fn]
I_bai=I;
[PY2,PY1,PX2,PX1]=caitu_fenge(I);
% I=rgb2hsv(I);
% [PY2,PY1,PX2,PX1]=caitu_tiqu(I,I_bai);%用HSI模型识别蓝色,用rgb模型识别白色
%================================================== =====================================
%================车牌面积根据面积修正两次====================== ==
[PY2,PY1,PX2,PX1,threshold]=SEC_xiuzheng(PY2,PY1,PX2,PX1);
%==============更新图片==============================
Plate=I_bai(PY1:PY2,PX1:PX2,:);%使用caitu_tiqu
%==============考虑用腐蚀解决蓝车问题==============
bw=Plate;figure,imshow(bw);title(‘车牌图像’);%hsv彩图提取图像
%==============这里要根据图像的倾斜度进行选择这里选择的图片20090425686.jpg
bw=rgb2gray(bw);figure,imshow(bw);title(‘灰度图像’);
%================倾斜校正========================
qingxiejiao=rando_bianhuan(bw)
bw=imrotate(bw,qingxiejiao,’bilinear’,’crop’);figure,imshow(bw);title(‘倾斜校正’);%取值为负值向右旋转
%=================================================
bw=im2bw(bw,graythresh(bw));%figure,imshow(bw);
bw=bwmorph(bw,’hbreak’,inf);%figure,imshow(bw);
bw=bwmorph(bw,’spur’,inf);%figure,imshow(bw);title(‘擦除之前’);
bw=bwmorph(bw,’open’,5);%figure,imshow(bw);title(‘闭合运算’);
bw = bwareaopen(bw, threshold);figure,imshow(bw);title(‘擦除’);
%===================添加进度条============================ == ====
% h=waitbar(0,’程序运行中,请稍等……’)
% for i=1:10000
% waitbar(i/5000,h)
% end
% close(h);
%wavplay(wavread(‘程序运行中.wav’),22000);
%================================================== === =========
bw=~bw;figure,imshow(bw);title(‘擦除反色’);
%============== 进一步裁剪图片保证边框靠近字体 ============
bw=touying(bw);figure;imshow(bw);title(‘Y方向处理’);
bw=~bw;
bw = bwareaopen(bw, threshold);
bw=~bw;%figure,imshow(bw);title(‘二次擦除’);
% [y,x]=size(bw);%对长宽重新赋值
% %==================文本分割============================ === ====
% fenge=shuzifenge(bw,qingxiejiao)
% [m,k]=size(fenge);
% %==================显示分割图结果==========================
% figure;
% for s=1:2:k-1
% subplot(1,k/2,(s+1)/2);imshow(bw( 1:y,fenge(s):fenge(s+1)));
% end
D174
版权声明:本文为博主fpga&matlab原创文章,版权归属原作者,如果侵权,请联系我们删除!
原文链接:https://blog.csdn.net/ccsss22/article/details/123339324