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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 helendcany 于 2020-10-10 10:43 编辑 . d( o6 A. e0 w
' R: B' V/ l  h: A7 |3 M
识别蓝色车牌的MATLAB简单程序

7 w* X1 J. {. J5 n. g0 q( W5 K" U: a$ z9 f: d. ~
clear all;close all;clc;[filename,filepath]=uigetfile('.jpg','输入一个需要识别的车牌图像');% 直接自动读入%file=strcat(filepath,filename); %strcat函数:连接字符串;把filepath的字符串与filename的连接,即路径/文件名6 O; o0 h; i5 n$ d) v7 D( l
I=imread(file);
) T. S: k8 c! j$ d, K0 g1 ]1 C0 wfigure('name','原图'),imshow(I);title('原图');7 v1 E) z# {  [" x
[x,y,z]=size(I);: K9 @4 M3 c4 M& Z& b; l/ q
% 以下为找车牌Y方向蓝色的范围2 n6 z) ~5 t( S+ f3 U: g! b
Blue_y=zeros(y,1);% zeros(M,N) 表示的是M行*N列的全0矩阵+ X- X) T3 O$ @
for i=1:x   
( [' p) ^- c7 ^7 |2 ofor j=1:y         
5 `+ \6 a9 N" c$ fif(I(i,j,3)>(I(i,j,1)+I(i,j,2))&&(I(i,j,3)>128))%% 判断蓝色像素           
! O! T! }8 G/ v; n. ]Blue_y(j,1)= Blue_y(j,1)+1;% 蓝色像素点统计         
' N3 D  v; ^$ x0 y1 \9 Y$ [end      
) t+ f* S' j9 ^% H# l, g% fend      
0 F+ G2 l3 e) s/ x' vend/ e, F9 W. F+ h+ H& ]1 V
PY1=1;
/ T5 ~: \2 ]2 M- O9 y* Wwhile ((Blue_y(PY1,1)<10)&&(PY1<y))%Y方向是车牌的宽,大于5个蓝色像素点判为有车牌的区域        
8 _7 [' G! b$ u! @PY1=PY1+1;end    %PY1是Y坐标方向蓝色范围的下限6 y# |# k& [; W% `8 v
PY2=y;
3 F+ h3 C6 l) ^5 Iwhile ((Blue_y(PY2,1)<5)&&(PY2>PY1))        * O, y& s  D( `( b& {$ q
PY2=PY2-1;1 ~% c( i7 q( V
end   %PY2是Y坐标方向蓝色范围的上限% i+ ?1 J- v/ j
% 以下为找车牌X方向蓝色的范围+ d! {" o# X6 W& s* L8 |+ j
Blue_x=zeros(1,x);
" s# z, z9 z9 h4 q! {. ]5 D9 ifor i=1:x     7 w* ^) l; _$ P
for j=1:y  % 只需扫描的行         
# P1 l7 @! A7 Y* P' dif(I(i,j,3)>(I(i,j,1)+I(i,j,2))&&(I(i,j,3)>128)) %% 判断蓝色像素            & Z* Y1 Q3 d7 X& a4 g$ ]
Blue_x(1,i)= Blue_x(1,i)+1; % 蓝色像素点统计                     1 H% e5 S+ ]3 H/ K# h( q
end      - [! K1 y* [% j0 }( [8 T. N* [6 n
end   . |! B# A. B% F( n, F- W
end( ]; y6 \1 G* w  f$ t
PX1=1;
4 p0 C0 f/ ^7 E2 _- ?, Awhile ((Blue_x(1,PX1)<5)&&(PX1<x)) %X方向是车牌的高,大于5个蓝色像素点判为车牌的范围- J+ {0 m  \; X0 l; X2 j
       PX1=PX1+1;; }$ c  x+ A' R
end    %PX1是X坐标方向蓝色范围的下限
0 `& s+ u9 [2 ^' ]# }9 YPX2=x;/ ]; h0 F9 q2 X7 x
while ((Blue_x(1,PX2)<3)&&(PX2>PX1))- Z/ X8 K3 u9 l
       PX2=PX2-1;
# x' }9 `( k, k" a4 cend    %PX2是X坐标方向蓝色范围的上限- _  v  s  _- j7 N( ~* S
dw=I(PX1: PX2,PY1: PY2,: );% 裁剪图像6 x7 M1 P! r: o
figure('name','定位剪切后的彩色车牌图像');
+ T4 l( i" ]# O" @. p( simshow(dw),title('定位剪切后的彩色车牌图像')7 c' C, ]3 l% }! C
  • TA的每日心情
    开心
    2021-3-16 15:27
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-11-24 11:50 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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