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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 helendcany 于 2020-10-10 10:43 编辑 + \, A4 K' \+ I: B& V/ j
+ G) d' D$ I( j1 y
识别蓝色车牌的MATLAB简单程序

! ?% Y7 J  Q1 J2 k3 R7 W- d+ o  r" q8 d
clear all;close all;clc;[filename,filepath]=uigetfile('.jpg','输入一个需要识别的车牌图像');% 直接自动读入%file=strcat(filepath,filename); %strcat函数:连接字符串;把filepath的字符串与filename的连接,即路径/文件名
! A+ v! K, w4 i+ ~5 U* I6 R5 c" y4 K" II=imread(file);' Y3 g7 J4 P- |7 {+ C; e
figure('name','原图'),imshow(I);title('原图');: c" {; \. F7 b! r+ D! A
[x,y,z]=size(I);( f. A4 w* U+ Q* n
% 以下为找车牌Y方向蓝色的范围
$ R! \' g1 A" ~2 wBlue_y=zeros(y,1);% zeros(M,N) 表示的是M行*N列的全0矩阵6 H* v% i  {; c# o) [; s
for i=1:x     m. c& F! W4 y( r; b$ f
for j=1:y         
& c! O: c# B, _) g7 C/ g) j- U! z4 zif(I(i,j,3)>(I(i,j,1)+I(i,j,2))&&(I(i,j,3)>128))%% 判断蓝色像素           
6 D* K/ M8 x4 s- mBlue_y(j,1)= Blue_y(j,1)+1;% 蓝色像素点统计         
9 e5 T& V- @) _3 j4 S7 iend      
4 c' B; C5 L! Xend      
+ y: v4 ~1 d( ^+ ~7 w+ U5 _end
) P# b, r4 [8 ]- U1 `PY1=1;" ^8 A! u1 C# i6 V: Z4 {3 V) W* f, l
while ((Blue_y(PY1,1)<10)&&(PY1<y))%Y方向是车牌的宽,大于5个蓝色像素点判为有车牌的区域        . U/ e1 ~/ Y7 }, i5 r9 B
PY1=PY1+1;end    %PY1是Y坐标方向蓝色范围的下限
( F# |, x! D7 }* `$ XPY2=y;
2 {$ H# A% f2 z% j+ m8 A( _while ((Blue_y(PY2,1)<5)&&(PY2>PY1))        
1 ~/ R  e  G% N) e+ O4 z( h3 oPY2=PY2-1;; \9 `: Q! y; D
end   %PY2是Y坐标方向蓝色范围的上限: x1 {+ L( U1 p4 L% D$ p- p
% 以下为找车牌X方向蓝色的范围7 p& z* y7 L- x% q* l# s  M- k
Blue_x=zeros(1,x);7 L8 B7 x: e& m. P9 J6 W
for i=1:x     ' y3 B6 ?. z5 O7 {1 N
for j=1:y  % 只需扫描的行         $ Q8 ^* M8 M) w8 P- Y1 s. @: N
if(I(i,j,3)>(I(i,j,1)+I(i,j,2))&&(I(i,j,3)>128)) %% 判断蓝色像素            - e2 F: O: j# r# Z& u. h
Blue_x(1,i)= Blue_x(1,i)+1; % 蓝色像素点统计                     
$ z& n4 _" }7 bend      
9 {& E7 N: |3 C. d3 yend   " d) ]9 |. k* W6 d# b) `( E( h+ ^
end) M. z) }: r  y" X' b" q& `
PX1=1;* S) Y7 b/ j: U% ^3 U# i
while ((Blue_x(1,PX1)<5)&&(PX1<x)) %X方向是车牌的高,大于5个蓝色像素点判为车牌的范围
4 Y' L6 I# b& l" Z6 h5 N2 K8 F7 c       PX1=PX1+1;$ Y  ]; I8 Q! V; U  r* O9 r
end    %PX1是X坐标方向蓝色范围的下限
9 L3 j1 r/ y* h8 h1 _PX2=x;2 L2 X* b  H; N/ Y( L
while ((Blue_x(1,PX2)<3)&&(PX2>PX1))
# H4 A3 H: E- I       PX2=PX2-1;9 b8 i: D  p  l1 z' G
end    %PX2是X坐标方向蓝色范围的上限' f5 ~+ ^; v6 z8 [
dw=I(PX1: PX2,PY1: PY2,: );% 裁剪图像
" f9 A2 |2 s7 [: M$ L. |- ~( dfigure('name','定位剪切后的彩色车牌图像');/ g  M7 O* o; [/ L, U
imshow(dw),title('定位剪切后的彩色车牌图像')
( s& ^" N1 D4 F$ U& x6 D9 y
  • TA的每日心情
    开心
    2021-3-16 15:27
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-8-18 20:40 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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