资源简介

是关于车牌定位的Matlab源代码,利用的是边缘检测定位方法,最终定位得到车牌图像。

资源截图

代码片段和文件信息

clear
close all
I=imread(‘D:\毕设\测试图片3\test0066.jpg‘); 
subplot(331)imshow(I) title(‘原始图像‘);
I1=rgb2gray(I);
subplot(332)imshow(I1)title(‘灰度图像‘); 
Q1=medfilt2(I1[77]); 
subplot(333)imshow(Q1);title(‘去噪图像‘);  
Z1=histeq(Q1); subplot(334);
imhist(Q1);title(‘直方图‘); 
subplot(335);
imhist(Z1);
title(‘均衡化‘);
temp=60; 
[mn]=size(Q1); 
Z2=zeros(mn); 
for i=1:m    
    for j=1:n          
        if Q1(ij)>30&Q1(ij)<140;              
            Z2(ij)=100;    
        else  Z2(ij)=0;            
        end
    end
end
subplot(336); 
imshow(Z2);
title(‘阈值点‘);
Z1=double(Z1); 
f=fft2(Z1); 
TO1=fftshift(f); 
[mn]=size(f); 
d0=10; 
r1=0.5; 
rh=2; 
c=4; 
n1=floor(m/2); 
n2=floor(n/2); 
for i=1:m;     
    for j=1:n         
        d=sqrt((i-n1)^2+(j-n2)^2);         
        h=(rh-r1)*(1-exp(-c*(d.^2/d0.^2)))+r1;        
        TO1(ij)=h*TO1(ij);     
    end
end
TO1=ifftshift(TO1);
TO1=uint8(real(ifft2(TO1))); 
subplot(337);
imshow(TO1);
title(‘同态滤波图像‘);
E1=im2bw(TO10.70); 
subplot(338);
imshow(E1);
title(‘二值化处理图像‘);
BY1=edge(TO1‘canny‘);
subplot(339)imshow(BY1)title(‘边缘检测后图像‘);
se=[1;1;1];  
FS1=imerode(BY1se); 
figuresubplot(331)imshow(FS1)title(‘腐蚀后边缘图像‘); 
se=strel(‘rectangle‘[2525]);
TC1=imclose(FS1se);
subplot(332)imshow(TC1)title(‘填充后图像‘);
XT1=bwareaopen(TC12000);
subplot(333)imshow(XT1)t

评论

共有 条评论