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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 helendcany 于 2020-10-10 10:43 编辑 / ?3 O5 F) V2 \7 O+ o# h" w

: R3 W3 J! A# y. V2 |0 K
识别蓝色车牌的MATLAB简单程序
9 e( H( f+ g- _& ~; o
6 ~2 m9 e5 n$ C8 F' a8 d
clear all;close all;clc;[filename,filepath]=uigetfile('.jpg','输入一个需要识别的车牌图像');% 直接自动读入%file=strcat(filepath,filename); %strcat函数:连接字符串;把filepath的字符串与filename的连接,即路径/文件名
2 F, k$ s$ N, w6 u! |; V1 W  t- l9 e5 ZI=imread(file);
7 R# K2 }8 O9 N# J6 Ffigure('name','原图'),imshow(I);title('原图');
  F& K$ i; d; L0 q[x,y,z]=size(I);
% O* H- z% B! Q7 i% 以下为找车牌Y方向蓝色的范围9 ]- L& B) u2 f% w
Blue_y=zeros(y,1);% zeros(M,N) 表示的是M行*N列的全0矩阵
) V% a! o' m3 Z' {1 F8 ~7 g* cfor i=1:x   
* h! a( p; ^$ J. G4 K% P* T2 z/ Gfor j=1:y         
$ Z  M) ]2 \# E3 `) E& w5 m- sif(I(i,j,3)>(I(i,j,1)+I(i,j,2))&&(I(i,j,3)>128))%% 判断蓝色像素           & L. }) A# x$ q( r! ~% y6 K( j
Blue_y(j,1)= Blue_y(j,1)+1;% 蓝色像素点统计         
* R' O7 S( q/ ]5 x% `% eend      " A" J; {4 C/ `
end      $ [* r/ D4 g0 I4 W
end
6 l8 [% Y6 u2 @' D9 W; j4 PPY1=1;3 m, r5 ~+ n3 ~
while ((Blue_y(PY1,1)<10)&&(PY1<y))%Y方向是车牌的宽,大于5个蓝色像素点判为有车牌的区域        5 B2 C4 w+ R- ]4 L% R  Z
PY1=PY1+1;end    %PY1是Y坐标方向蓝色范围的下限
) X; J1 W! W* WPY2=y;
7 _' U  a9 V) S1 dwhile ((Blue_y(PY2,1)<5)&&(PY2>PY1))        ! _7 B# r1 }8 R- c* P0 o
PY2=PY2-1;
) M1 D, S- e0 Y# @# [' T. ~: n# Bend   %PY2是Y坐标方向蓝色范围的上限+ @; X0 c; Y9 S( \6 t3 t6 U
% 以下为找车牌X方向蓝色的范围
. I/ R+ ]; z8 a# l- M4 qBlue_x=zeros(1,x);# L- u6 P& D! m: z/ p
for i=1:x     3 g# R# s4 D% [7 b+ P6 A
for j=1:y  % 只需扫描的行         
. X( X) {0 n" Z8 h  ]; ~if(I(i,j,3)>(I(i,j,1)+I(i,j,2))&&(I(i,j,3)>128)) %% 判断蓝色像素            1 [% r. ?: l# [0 j: e  J
Blue_x(1,i)= Blue_x(1,i)+1; % 蓝色像素点统计                     , e) h% k6 {; d" n$ Q2 B% e  g
end      
7 U# p6 W6 n; ~0 b! rend   , @& J: p: l9 m9 n0 |9 i$ n
end
, f' `, M% ?. s# c0 e1 xPX1=1;
3 z, s% [3 |2 |+ B8 T3 p6 Dwhile ((Blue_x(1,PX1)<5)&&(PX1<x)) %X方向是车牌的高,大于5个蓝色像素点判为车牌的范围8 D0 K' J  |0 f% |
       PX1=PX1+1;
  w% X+ b7 t2 k- qend    %PX1是X坐标方向蓝色范围的下限
! W0 @2 I8 V' G% x% U9 x2 @% IPX2=x;, }* [6 a/ S& Z( ~
while ((Blue_x(1,PX2)<3)&&(PX2>PX1))( `: ?$ h+ j# u8 d
       PX2=PX2-1;
% y: E9 I% [+ Qend    %PX2是X坐标方向蓝色范围的上限
- Q1 U0 H0 \" b8 pdw=I(PX1: PX2,PY1: PY2,: );% 裁剪图像
" |- Q) h" }+ Q  v$ v5 @. k+ p) I4 ufigure('name','定位剪切后的彩色车牌图像');2 g, x/ h& K8 e4 k' e# N( F# P" E5 X
imshow(dw),title('定位剪切后的彩色车牌图像')
/ j  Z4 x' u9 ^. X5 R' }
  • 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:09 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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