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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 helendcany 于 2020-10-10 10:43 编辑
* ]3 C  e- a' \" z- I6 i
  L+ m) j& N* l6 ]0 I9 e8 g5 d& w4 ]
识别蓝色车牌的MATLAB简单程序
! u1 h1 q6 n- w

' Q& _! v2 M% ^clear all;close all;clc;[filename,filepath]=uigetfile('.jpg','输入一个需要识别的车牌图像');% 直接自动读入%file=strcat(filepath,filename); %strcat函数:连接字符串;把filepath的字符串与filename的连接,即路径/文件名) x, |# `' v4 K$ W! D- z
I=imread(file);! L: q. c' ^6 A0 S& l% t
figure('name','原图'),imshow(I);title('原图');& n+ L- G  _5 O5 o* r
[x,y,z]=size(I);
7 @0 V9 d' A: p7 K% 以下为找车牌Y方向蓝色的范围
4 G7 T4 L3 g+ |  vBlue_y=zeros(y,1);% zeros(M,N) 表示的是M行*N列的全0矩阵1 R$ J4 M0 u! Q/ n! u2 A
for i=1:x   
5 }& D, R0 g3 v" \" D' jfor j=1:y         2 M% R% J5 q7 b5 ?! M5 j" Y; b
if(I(i,j,3)>(I(i,j,1)+I(i,j,2))&&(I(i,j,3)>128))%% 判断蓝色像素           , ?7 w9 A8 q! @8 D$ x7 d. ^' ^/ m
Blue_y(j,1)= Blue_y(j,1)+1;% 蓝色像素点统计         ' m9 o7 M# d: Y2 w  ?* T
end      / N! x0 Y1 l' b% g; X( z
end      
5 `* [: W/ N0 x( O; |- u# tend
% h! p- g+ `6 O8 O/ _& x# O6 H/ CPY1=1;2 l% z  i! H/ v3 A' g
while ((Blue_y(PY1,1)<10)&&(PY1<y))%Y方向是车牌的宽,大于5个蓝色像素点判为有车牌的区域        
, [  U3 U: @0 U! ^# E! V  IPY1=PY1+1;end    %PY1是Y坐标方向蓝色范围的下限
$ ]* n+ r1 Y7 @3 M! _! |PY2=y;( E- E$ K' N- c
while ((Blue_y(PY2,1)<5)&&(PY2>PY1))        ' Z% k: \: C. g: W/ Y' N% {: N
PY2=PY2-1;
, ]3 y! F7 p: S8 [7 \9 e0 aend   %PY2是Y坐标方向蓝色范围的上限$ L7 N, O# U( g' G) u
% 以下为找车牌X方向蓝色的范围
$ v, W; y+ O0 ^Blue_x=zeros(1,x);" e3 a" [' N2 I* l5 u, ^$ L
for i=1:x     9 m5 \% {6 }7 o/ z2 ?
for j=1:y  % 只需扫描的行         1 u. A1 C; k6 a9 \
if(I(i,j,3)>(I(i,j,1)+I(i,j,2))&&(I(i,j,3)>128)) %% 判断蓝色像素            1 Y1 u. S9 r: S; y4 f7 J
Blue_x(1,i)= Blue_x(1,i)+1; % 蓝色像素点统计                     ) c$ J! o; y1 x; Q% z
end      , }3 m- t8 I* g
end   
/ u' G$ z( O" R1 @6 W7 N! Dend
' w8 `. G8 I; O5 |) I# \" ~  BPX1=1;8 c$ i- Q/ J9 P! y# h" W" c
while ((Blue_x(1,PX1)<5)&&(PX1<x)) %X方向是车牌的高,大于5个蓝色像素点判为车牌的范围: O9 e3 o/ M. l' r/ R  `
       PX1=PX1+1;
  h5 |* i( T! uend    %PX1是X坐标方向蓝色范围的下限
: e2 ?  g( ^) R$ K, t: @PX2=x;% W9 y! u0 Z! U. q" g
while ((Blue_x(1,PX2)<3)&&(PX2>PX1))
& V. _+ B/ ?- w" v( H( b3 Q       PX2=PX2-1;
. `9 L1 u' p+ ^end    %PX2是X坐标方向蓝色范围的上限
- ?/ i# F3 d8 ~8 E7 h4 Y9 Adw=I(PX1: PX2,PY1: PY2,: );% 裁剪图像
6 G, |0 E8 ~& L9 L$ i, kfigure('name','定位剪切后的彩色车牌图像');7 `) L# z3 z& A2 E: i
imshow(dw),title('定位剪切后的彩色车牌图像')# D2 L: Z4 D8 p8 {# |8 |
  • TA的每日心情
    开心
    2021-3-16 15:27
  • 签到天数: 1 天

    [LV.1]初来乍到

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

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-7-29 13:20 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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