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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 helendcany 于 2020-10-10 10:43 编辑
5 X. r$ y+ I+ |% X6 M# m+ f2 ?3 b0 g  N3 M2 [) |
识别蓝色车牌的MATLAB简单程序
8 a! w( L9 L" Q" s( F
, s$ Y" b: N# X, W# a; u
clear all;close all;clc;[filename,filepath]=uigetfile('.jpg','输入一个需要识别的车牌图像');% 直接自动读入%file=strcat(filepath,filename); %strcat函数:连接字符串;把filepath的字符串与filename的连接,即路径/文件名
. @' r& c* u4 {2 II=imread(file);/ x2 w8 C4 T$ Y3 c4 X% c
figure('name','原图'),imshow(I);title('原图');1 O- g% f; z* ]. t8 l# G' A
[x,y,z]=size(I);
- R: e. F3 [4 d7 G5 ^4 \- k% 以下为找车牌Y方向蓝色的范围
& h& V* _0 k' w9 I; ]# CBlue_y=zeros(y,1);% zeros(M,N) 表示的是M行*N列的全0矩阵) n& D  _7 g0 z9 k
for i=1:x   " C6 g' R' ^+ ]3 L- h) E/ g3 R
for j=1:y         
8 E, x! k* N/ }' a4 @9 n& G, I1 Uif(I(i,j,3)>(I(i,j,1)+I(i,j,2))&&(I(i,j,3)>128))%% 判断蓝色像素           
; u5 A/ i+ R* F1 OBlue_y(j,1)= Blue_y(j,1)+1;% 蓝色像素点统计         % [0 v. P$ K6 S2 Q7 F: W
end      
! f# C, X# @  }: Vend      9 }6 y+ }' h5 i1 n, W$ {8 D
end1 G' X9 R6 @5 \- a1 Y, l3 a
PY1=1;( ~1 I- R, m1 i& a: D* u! P
while ((Blue_y(PY1,1)<10)&&(PY1<y))%Y方向是车牌的宽,大于5个蓝色像素点判为有车牌的区域        
- Q, a3 g- ~5 B9 |7 [PY1=PY1+1;end    %PY1是Y坐标方向蓝色范围的下限
" Z* Q" [3 F4 iPY2=y;
! }  n8 ?4 b& r' W+ zwhile ((Blue_y(PY2,1)<5)&&(PY2>PY1))        * r+ k- L5 U, K. Z, ^- O/ c
PY2=PY2-1;
! j1 ?2 ?$ z# F4 ^  send   %PY2是Y坐标方向蓝色范围的上限
1 r1 B+ I7 x: G4 |, L8 O% 以下为找车牌X方向蓝色的范围
5 _- K$ h% W, s* ?6 M5 J  ?- x2 q1 fBlue_x=zeros(1,x);
+ m; Q0 W5 \1 L* Xfor i=1:x     9 l% ~' U5 v! t7 i
for j=1:y  % 只需扫描的行         
- c! N  {3 V: W/ _6 D& c( G/ a; Gif(I(i,j,3)>(I(i,j,1)+I(i,j,2))&&(I(i,j,3)>128)) %% 判断蓝色像素            
% v7 O' S8 c* ]6 _/ n/ v$ P0 fBlue_x(1,i)= Blue_x(1,i)+1; % 蓝色像素点统计                     4 z& Y* ~" D! k+ A
end      . d) N/ c% `# J8 |1 n4 {0 s( V
end   ' E: H& ]* @) J
end$ v( ?6 M$ G" B) B6 m5 y/ r
PX1=1;
$ q$ @( A2 U7 O- g9 v1 {/ vwhile ((Blue_x(1,PX1)<5)&&(PX1<x)) %X方向是车牌的高,大于5个蓝色像素点判为车牌的范围. V. z) ]  Q: D3 j# S" z6 U! u
       PX1=PX1+1;3 f2 t( k5 k" W% A! }+ B
end    %PX1是X坐标方向蓝色范围的下限
/ m& P# ]* r: t6 r% [PX2=x;$ @( f7 G$ V' E1 b
while ((Blue_x(1,PX2)<3)&&(PX2>PX1))6 n6 o7 w' a5 `  z; D4 q  N, A* x
       PX2=PX2-1;
! e9 y0 P. }6 G1 `end    %PX2是X坐标方向蓝色范围的上限5 y) g! @2 G) c' F! m
dw=I(PX1: PX2,PY1: PY2,: );% 裁剪图像8 C0 g, A  m1 }- B$ @* _8 \2 {3 O  D
figure('name','定位剪切后的彩色车牌图像');7 m/ [6 {& T9 ~
imshow(dw),title('定位剪切后的彩色车牌图像')
/ F, d3 v  a4 `& G
  • 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-2 17:17 , Processed in 0.171875 second(s), 24 queries , Gzip On.

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

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

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