您现在的位置:首页 >> 机器学习 >> 内容

基于模板和形态学处理的车牌检测分割和识别matlab仿真,可以识别其中的一个英文字母和所有数字

时间:2023/1/19 23:33:31 点击:

  核心提示:A254,包括程序操作录像...

1.完整项目描述和程序获取

>面包多安全交易平台:https://mbd.pub/o/bread/Y56XlJdq

>如果链接失效,可以直接打开本站店铺搜索相关店铺:

点击店铺

>如果链接失效,程序调试报错或者项目合作可以加微信或者QQ联系。

2.部分仿真图预览



3.算法概述

        随着交通现代化的发展要求,汽车牌照自动识别技术已经越来越受到人们的重视。车牌自动识别技术中车牌定位、字符切割、字符识别及后期处理是其关键技术。由于受到运算速度及内存大小的限制,以往的车牌识别大都是基于灰度图象处理的识别技术。其中首先要求正确可靠地检出车牌区域,为此提出了许多方法,如Hough变换以检测直线来提取车牌边界区域、使用灰度分割及区域生长进行区域分割,或使用纹理特征分析技术等。Hough变换方法对车牌区域变形或图象被污损时失效的可能性会大大增加,而灰度分割则比直线检测的方法要稳定,但当图象在有许多与车牌的灰度非常相似的区域时,该方法也就无能为力了。纹理分析在遇到类似车牌纹理特征的其他干扰时,车牌定位正确率也会受到影响。本文提出基于车牌彩色信息的彩色分割方法。

       主要模块如下:颜色信息提取、车牌区域定位、识别、提取、检测倾斜度、车牌校正、车牌区域二值化、擦除干扰区域、文字分割、模版匹配、结果输出。

4.部分源码

....................................................................

tic

%=====================读入图片================================

[fn,pn,fi]=uigetfile('*.jpg','选择图片');

I=imread([pn fn]);figure(1),imshow(I);title('原始图像');%显示原始图像

chepailujing=[pn fn]

I_bai=I;

[PY2,PY1,PX2,PX1]=caitu_fenge(I);

%===============车牌区域根据面积二次修正======================

[PY2,PY1,PX2,PX1,threshold]=SEC_xiuzheng(PY2,PY1,PX2,PX1);

%==============更新图片=============================

 

Plate=I_bai(PY1:PY2,PX1:PX2,:);%使用caitu_tiqu

%==============考虑用腐蚀解决蓝色车问题=============

bw=Plate;figure(2),subplot(331),imshow(bw);title('车牌图像');%hsv彩图提取图像

%==============这里要根据图像的倾斜度进行选择

bw=rgb2gray(bw);subplot(332),imshow(bw);title('灰度图像');

%================倾斜校正======================

qingxiejiao=rando_bianhuan(bw)

bw=imrotate(bw,qingxiejiao,'bilinear','crop');subplot(333),imshow(bw);title('倾斜校正');%取值为负值向右旋转

%==============================================

bw=im2bw(bw,graythresh(bw));subplot(334),imshow(bw);title('二值化');

%==========================================================

bw=~bw;subplot(335),imshow(bw);title('擦除反色'); 

%=============对图像进一步裁剪,保证边框贴近字体===========

bw=touying(bw);subplot(336);imshow(bw);title('Y方向处理');

bw=~bw;

bw = bwareaopen(bw, threshold);

bw=~bw;subplot(337),imshow(bw);title('二次擦除');

[y,x]=size(bw);%对长宽重新赋值

%=================文字分割=================================

fenge=shuzifenge(bw,qingxiejiao)

[m,k]=size(fenge);

%=================显示分割图像结果========================= 

figure(3);

for s=1:2:k-1

    subplot(1,k/2,(s+1)/2);imshow(bw( 1:y,fenge(s):fenge(s+1)));

end

%================ 给五张图片定位===============

zm_sz_1 =bw( 1:y,fenge(5):fenge(6));

zm_sz_2 =bw( 1:y,fenge(7):fenge(8));

shuzi_1 =bw( 1:y,fenge(9):fenge(10)); 

shuzi_2 =bw( 1:y,fenge(11):fenge(12)); 

shuzi_3 =bw( 1:y,fenge(13):fenge(14)); 

%==========================识别====================================

%======================把修正数据读入==============================

xiuzhengzm_sz_1=  imresize(zm_sz_1,[110 55],'bilinear');  %调整大小

xiuzhengzm_sz_2 = imresize(zm_sz_2,[110 55],'bilinear');

xiuzhengshuzi_1 = imresize(shuzi_1,[110 55],'bilinear');

xiuzhengshuzi_2 = imresize(shuzi_2,[110 55],'bilinear');

xiuzhengshuzi_3 = imresize(shuzi_3,[110 55],'bilinear');

A254

作者:我爱C编程 来源:我爱C编程
本站最新成功开发工程项目案例
相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
本类固顶
  • 没有
  • FPGA/MATLAB商业/科研类项目合作(www.store718.com) © 2025 版权所有 All Rights Reserved.
  • Email:1480526168@qq.com 站长QQ: 1480526168