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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
本帖最后由 helendcany 于 2020-10-10 10:43 编辑 & N' A) e9 u; @* w# k! Q

4 d- z8 k" m( j( ]8 T% M
识别蓝色车牌的MATLAB简单程序

, w7 f# I# v- n" s3 V; v5 r& ?4 `$ c) Q: W. y4 g( u
clear all;close all;clc;[filename,filepath]=uigetfile('.jpg','输入一个需要识别的车牌图像');% 直接自动读入%file=strcat(filepath,filename); %strcat函数:连接字符串;把filepath的字符串与filename的连接,即路径/文件名
' n; F% V- J  A" e7 B. UI=imread(file);8 y0 |; j$ ~& s& L
figure('name','原图'),imshow(I);title('原图');3 O! p' \" ]5 h6 V) s5 F
[x,y,z]=size(I);
0 Z7 V$ p: ?0 O) a% 以下为找车牌Y方向蓝色的范围
1 P+ _0 S# ~" M) T$ i- vBlue_y=zeros(y,1);% zeros(M,N) 表示的是M行*N列的全0矩阵7 e5 ^3 e4 \' Q3 T, G$ B
for i=1:x   
! X: W+ y' h' w  v% Cfor j=1:y         
9 m# I0 }! }% X$ s3 Y- Y4 `if(I(i,j,3)>(I(i,j,1)+I(i,j,2))&&(I(i,j,3)>128))%% 判断蓝色像素           & m7 P6 I+ |: f2 W0 }6 ?5 l
Blue_y(j,1)= Blue_y(j,1)+1;% 蓝色像素点统计         
% q- ]* Z. ]* Q/ P9 R2 z. D; o' kend      . v+ l0 S8 e9 F
end      
& h6 V1 @* L$ Y/ iend
* ]/ \8 f+ y" \; v6 f3 H. ~" FPY1=1;+ s5 N& ?' j! M. F- k+ _
while ((Blue_y(PY1,1)<10)&&(PY1<y))%Y方向是车牌的宽,大于5个蓝色像素点判为有车牌的区域        5 A4 d( S2 e; T! A
PY1=PY1+1;end    %PY1是Y坐标方向蓝色范围的下限, @4 H( y- K- D) D
PY2=y;7 G& S: ^0 _2 Q
while ((Blue_y(PY2,1)<5)&&(PY2>PY1))        
' n' u: V+ x: RPY2=PY2-1;3 l/ f  ]2 ]/ Z  y- ?5 \4 i  w( [' ^
end   %PY2是Y坐标方向蓝色范围的上限
0 F0 z: }6 T0 o% 以下为找车牌X方向蓝色的范围
' P4 u. M& [! I+ V$ E  s2 N8 ]2 mBlue_x=zeros(1,x);
4 O& H5 n! B. }* J, s: Ffor i=1:x     ; _# p  v3 ?8 p8 ^. ?& |
for j=1:y  % 只需扫描的行         
  L: Z& _, f8 {* @5 |: m1 bif(I(i,j,3)>(I(i,j,1)+I(i,j,2))&&(I(i,j,3)>128)) %% 判断蓝色像素            $ K* Q7 I) q! a, C( P' O
Blue_x(1,i)= Blue_x(1,i)+1; % 蓝色像素点统计                     
& D  Z- {. d/ v4 W& o+ zend      
3 D" `& {( W, s* y5 J# @end   0 b9 S& r, k, Y) S4 n3 O9 C
end
) c& F' A/ X% R- V/ L/ \  b8 w2 jPX1=1;
- n3 k6 J& V8 w) }! mwhile ((Blue_x(1,PX1)<5)&&(PX1<x)) %X方向是车牌的高,大于5个蓝色像素点判为车牌的范围. A7 b$ I3 _9 k6 i
       PX1=PX1+1;
# q0 K1 u, V, X3 L/ O6 dend    %PX1是X坐标方向蓝色范围的下限; e% }% |' X( \; Y& u7 I( i$ R5 ~- z
PX2=x;
; n; d. C5 ?0 v! G0 M# J. V% Hwhile ((Blue_x(1,PX2)<3)&&(PX2>PX1))0 _( W& D. {; D
       PX2=PX2-1;
% s8 \0 t  e- d/ s& i& t. P% H5 i$ Eend    %PX2是X坐标方向蓝色范围的上限& i2 J4 j) U5 v
dw=I(PX1: PX2,PY1: PY2,: );% 裁剪图像
) @$ i& [4 ~$ ]( Ufigure('name','定位剪切后的彩色车牌图像');% r. E  m: n/ u6 b! ?
imshow(dw),title('定位剪切后的彩色车牌图像')
$ Q# U. p. @5 [) f. {  A8 {7 \
  • 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 12:48 , Processed in 0.156250 second(s), 23 queries , Gzip On.

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

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

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