|  | 
 
| 
先看处理结果2 E" r- b) k/ u* @' a; }
x
EDA365欢迎您登录!您需要 登录 才可以下载或查看,没有帐号?注册  
 3 p2 R* ]1 K" w: B5 K/ E7 x  M
   & ~& Y& D4 p6 y
 $ ?( s8 {, ~3 `: c0 ~% w简单说一下实现思路:1 E& D% ]5 i+ m; P# y
 ( _% c( m. `, d- ~
 读取图片,转灰度,计算灰度直方图,估算阈值(这里的阈值计算很重要,经过阈值算法,选取一个最恰当的阈值),之后二值化。显示图像即可。后面阈值的计算补更。 + M1 q( R* d$ g2 A- O/ I
 ) S3 }* s- \# d
 
 + c. Z1 h& r. I$ R; |6 w" W, ~%%车牌clear allclcPS=imread('chepai.png');subplot(1,2,1);imshow(PS)title('原图')p=rgb2gray(PS);subplot(1,2,2)imshow(p)title('原灰度图')[m,n]=size(p);GP=zeros(1,256);for k=0:255GP(k+1)=length(find(p==k))/(m*n);  %计算每级灰度出现的概率,将其存入GP,这里的find函数寻找                                    %与0-255相等的个数,然后通过length函数返回一个数,再除以                                    %总的像素点个数,就是第0个灰度数据出现的次数,放入第一个                                    %里面endfiguresubplot(1,2,1);bar(0:255,GP,'g')xlabel('灰度值')ylabel(' 出现概率')title('原灰度直方图')max_index=[];for i=3:length(GP)-2if((GP(i)>=GP(i+1))&(GP(i)>=GP(i-1)))&((GP(i+1)>=GP(i+2))&(GP(i-1)>=GP(i-2)))    max_index(end+1)=i-1;%数组的扩展,有n个元素,那么第n+1个用来存放数据i-1(因为是从0开始的,所以-1)endendpossible=GP(max_index);[max_value,index]=max(possible);%前者存值,后者放位置TT=max_index(index)-2;%取出数据[m,n]=size(p);R=zeros(m,n);for i=1:m    for j=1:n        if p(i,j)<TT           R(i,j)=256;        else R(i,j)=0;        end    endendsubplot(1,2,2);imshow(R);title('二值图');* Q: |+ P' {0 t
 ; }2 i( j5 c, q' Z9 q, n
 0 G; r3 j, e3 d6 x
 1 c! W* d9 O  w- g3 O1 r
 
 ; d* c& M; u# t! H4 E; E' S) o2 c& Y
 1 K' s1 \. `  R
 8 p( Q9 D/ f5 s5 K& A! S
 
 2 e: y; x1 R& w8 v' s/ L: T% f7 W$ D0 t5 h: d
 
 z4 p+ F( C5 W
 | 
 |