找回密码
 注册
关于网站域名变更的通知
查看: 377|回复: 1
打印 上一主题 下一主题

识别蓝色车牌的MATLAB简单程序

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-10-10 10:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 helendcany 于 2020-10-10 10:43 编辑
' |) L# _. ?( E
6 {2 ]3 G8 q  A* B1 i) q
识别蓝色车牌的MATLAB简单程序

+ }* ?/ @" o0 o4 f" ^, |  H
+ x; _5 L/ W5 X1 j4 Qclear all;close all;clc;[filename,filepath]=uigetfile('.jpg','输入一个需要识别的车牌图像');% 直接自动读入%file=strcat(filepath,filename); %strcat函数:连接字符串;把filepath的字符串与filename的连接,即路径/文件名; Z6 ^/ U! a+ q) Z" A2 X8 }  |
I=imread(file);
, J; D, [9 n1 G- y0 V* t0 P3 j% v# Pfigure('name','原图'),imshow(I);title('原图');
6 i* J) d* m2 M* M[x,y,z]=size(I);& Q# |/ h- d+ D6 M$ E
% 以下为找车牌Y方向蓝色的范围' }! M( v- D, o2 m
Blue_y=zeros(y,1);% zeros(M,N) 表示的是M行*N列的全0矩阵
) {6 H6 A2 s2 P# e. q8 Pfor i=1:x   3 C( F, e8 G; y  ?& r$ i
for j=1:y         
' ?; A- O$ m2 n3 N; L& O4 Bif(I(i,j,3)>(I(i,j,1)+I(i,j,2))&&(I(i,j,3)>128))%% 判断蓝色像素           . f4 \: x" F$ K$ U9 h1 W$ T
Blue_y(j,1)= Blue_y(j,1)+1;% 蓝色像素点统计         , `$ r2 N0 C6 r1 h/ @6 P. `
end      ! x2 E# `: t% H
end      - c, T& |2 C: H9 U3 Y" k1 u: W
end& }8 \+ ?8 h+ v3 N' s0 [/ A& g$ e
PY1=1;
+ M( D" P. `6 T' S) fwhile ((Blue_y(PY1,1)<10)&&(PY1<y))%Y方向是车牌的宽,大于5个蓝色像素点判为有车牌的区域        
! `0 F- ?- s! T: O, ?/ `PY1=PY1+1;end    %PY1是Y坐标方向蓝色范围的下限9 S) N2 U: `1 P. _. N. o2 h9 M
PY2=y;
$ x  `0 N+ |. d7 d2 \while ((Blue_y(PY2,1)<5)&&(PY2>PY1))        
  g/ `) }* T: K- \; r4 yPY2=PY2-1;
1 r" G8 `" T4 Y9 G! `# j* |& G1 U4 b& uend   %PY2是Y坐标方向蓝色范围的上限
' L. Y$ @$ I' u' }% 以下为找车牌X方向蓝色的范围. h- j6 m& l# Q
Blue_x=zeros(1,x);
2 Y, J8 N. H- P3 z  g- D- Sfor i=1:x     2 K- _+ i; l9 Y  u+ x* Y( `
for j=1:y  % 只需扫描的行         ' i$ I) D: Y) T8 t- H4 W: G9 E( _
if(I(i,j,3)>(I(i,j,1)+I(i,j,2))&&(I(i,j,3)>128)) %% 判断蓝色像素            3 r( \2 [: r$ ?+ u: p
Blue_x(1,i)= Blue_x(1,i)+1; % 蓝色像素点统计                     - m" J& `0 R8 g
end      
6 h9 j; C: v9 a9 C$ xend   + C1 E1 I+ Z* A: d4 H  @
end
. x* F" h+ B- ]* `4 dPX1=1;
& o- m- v; `. A: l2 ~# Uwhile ((Blue_x(1,PX1)<5)&&(PX1<x)) %X方向是车牌的高,大于5个蓝色像素点判为车牌的范围
9 i4 N( c: }& H& i& ~! C3 B       PX1=PX1+1;
( a9 p4 R2 h0 h# [end    %PX1是X坐标方向蓝色范围的下限
+ Z7 T6 P7 S  |( RPX2=x;: @  N$ ]! ^' O8 j1 Q! B* Y
while ((Blue_x(1,PX2)<3)&&(PX2>PX1))2 X7 Y6 N+ F: m7 B  [
       PX2=PX2-1;
8 Z$ i0 ]+ j  v" qend    %PX2是X坐标方向蓝色范围的上限
6 z) j7 R0 G8 Mdw=I(PX1: PX2,PY1: PY2,: );% 裁剪图像
3 {1 ?& O* D5 q2 k# T. x0 S1 C9 ^figure('name','定位剪切后的彩色车牌图像');# _$ q4 t& d8 c8 n* e% g
imshow(dw),title('定位剪切后的彩色车牌图像')
; Z( F% u' X/ H* n- l: O  ^  x
  • TA的每日心情
    开心
    2021-3-16 15:27
  • 签到天数: 1 天

    [LV.1]初来乍到

    2#
    发表于 2020-10-10 11:09 | 只看该作者
    感谢楼主分享
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-22 03:49 , Processed in 0.078125 second(s), 23 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表