%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
|