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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 helendcany 于 2020-10-10 10:43 编辑
3 C- {+ ?! ?' m. ~9 D* @
% k" R7 b* I. h1 ?' P; B% K
识别蓝色车牌的MATLAB简单程序

8 y# g1 \8 T2 q* x7 q3 q3 ?) q$ t/ P/ E6 d' a# v
clear all;close all;clc;[filename,filepath]=uigetfile('.jpg','输入一个需要识别的车牌图像');% 直接自动读入%file=strcat(filepath,filename); %strcat函数:连接字符串;把filepath的字符串与filename的连接,即路径/文件名8 g' Z/ v* ?1 T2 U" ^7 l0 Y
I=imread(file);
: A' a* n2 ~% U/ s! P5 Yfigure('name','原图'),imshow(I);title('原图');
. }1 d* F# T0 m6 O[x,y,z]=size(I);
5 m6 d. V$ x5 v+ _% 以下为找车牌Y方向蓝色的范围
4 B3 g: u4 l5 N5 t" y1 G$ Q3 hBlue_y=zeros(y,1);% zeros(M,N) 表示的是M行*N列的全0矩阵
6 ~6 B4 j2 Y4 \7 J9 Dfor i=1:x   8 ], p2 u( ]3 |
for j=1:y         
6 Y$ [6 q+ s5 [if(I(i,j,3)>(I(i,j,1)+I(i,j,2))&&(I(i,j,3)>128))%% 判断蓝色像素           - y! v* Y- }" P3 q- W" q9 s
Blue_y(j,1)= Blue_y(j,1)+1;% 蓝色像素点统计         & M1 X+ U% \) u9 B* i6 Z+ k
end      
) T; d! i, |, h, R% ?end      
6 @  a2 I3 U2 `! }% Jend0 }4 s- U9 @- n6 }% n) y
PY1=1;
! @) _  S5 Z, I! Z9 k& L- V& Twhile ((Blue_y(PY1,1)<10)&&(PY1<y))%Y方向是车牌的宽,大于5个蓝色像素点判为有车牌的区域        * m2 `! d6 C0 [( G  q2 `/ {* P; q
PY1=PY1+1;end    %PY1是Y坐标方向蓝色范围的下限9 t" {( V" L8 ~  J$ i) J
PY2=y;5 o7 N7 M* q* _
while ((Blue_y(PY2,1)<5)&&(PY2>PY1))        0 `3 i/ ~9 [$ A& E
PY2=PY2-1;
: n% {2 z  y6 X# Hend   %PY2是Y坐标方向蓝色范围的上限; ?6 I$ |1 w4 r! {: d# t
% 以下为找车牌X方向蓝色的范围0 ^3 }$ I5 G6 E/ v4 j0 v3 Y: d1 }
Blue_x=zeros(1,x);" A5 L$ i) j7 E5 [  q
for i=1:x     
3 }% M7 T- k! w3 j1 I7 o  tfor j=1:y  % 只需扫描的行         
# b4 {" J) a$ `3 }if(I(i,j,3)>(I(i,j,1)+I(i,j,2))&&(I(i,j,3)>128)) %% 判断蓝色像素            ) Y1 e2 @% }2 N% p( n3 V
Blue_x(1,i)= Blue_x(1,i)+1; % 蓝色像素点统计                     6 h- y, L5 `: S+ S
end      
# u  z" q% {6 B* _  F- K) O' ^end   
! A' i) Z* T4 u' R- X% Gend- H0 p3 r! w3 ~
PX1=1;
/ O& z0 v$ e2 K4 G+ {while ((Blue_x(1,PX1)<5)&&(PX1<x)) %X方向是车牌的高,大于5个蓝色像素点判为车牌的范围
6 B' E1 }; \" W/ x$ u       PX1=PX1+1;$ X8 ]. C' r# A$ `
end    %PX1是X坐标方向蓝色范围的下限
( L5 t4 A" r- p3 e' [" mPX2=x;; f: u7 E& t! `
while ((Blue_x(1,PX2)<3)&&(PX2>PX1))  ]- s6 b1 r7 w, s6 j
       PX2=PX2-1;( `, s8 x/ ~7 S1 ^- k3 v
end    %PX2是X坐标方向蓝色范围的上限! q- A' Q0 o% {
dw=I(PX1: PX2,PY1: PY2,: );% 裁剪图像
9 `$ E( Z7 l7 f" k% X" _7 xfigure('name','定位剪切后的彩色车牌图像');. M8 U' N: ?9 l  C% N4 ^
imshow(dw),title('定位剪切后的彩色车牌图像')$ m  ^. w9 }& T) r; q& Y) 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-11-24 13:58 , Processed in 0.156250 second(s), 24 queries , Gzip On.

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

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

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