基于matlab的车牌定位算法设计与实现,原创】基于matlab的汽车牌照识别系统设计与实现...

2023-10-30

《原创】基于matlab的汽车牌照识别系统设计与实现》由会员分享,可在线阅读,更多相关《原创】基于matlab的汽车牌照识别系统设计与实现(14页珍藏版)》请在人人文库网上搜索。

1、基于matlab的汽车牌照识别系统设计与实现摘要:本次作业的任务是设计一个基于matlab的汽车牌照识别程序,能够实现车牌图像预处理,车牌定位,字符分割,然后通过神经网络对车牌进行字符识别,最终从一幅图像中提取车牌中的字母和数字,给出文本形式的车牌号码。关键词:车牌识别,matlab,神经网络1引言随着我国交通运输的不断发展,智能交通系统(Intelligent Traffic System,简称ITS)的推广变的越来越重要,而作为ITS的一个重要组成部分,车辆牌照识别系统( vehicle licenseplate recognition system,简称LPR)对于交通管理、治安处罚等工。

2、作的智能化起着十分重要 的作用。它可广泛应用于交通流量检测,交通控制于诱导,机场,港口,小区的车辆管理, 不停车自动收费,闯红灯等违章车辆监控以及车辆安全防盗等领域,具有广阔的应用前景。由于牌照是机动车辆管理的唯一标识符号,因此,车辆牌照识别系统的研究在机动车管理方面具有十分重要的实际意义。2车辆牌照识别系统工作原理车辆牌照识别系统的基本工作原理为:将摄像头拍摄到的包含车辆牌照的图像通过视频卡输入到计算机中进行预处理, 再由检索模块对牌照进行搜索、检测、 定位,并分割出包含 牌照字符的矩形区域,然后对牌照字符进行二值化并将其分割为单个字符,然后输入JPEG或BMP格式的数字,输出则为车牌号码的。

3、数字。3车辆牌照识别系统组成(1)图像预处理:对汽车图像进行图像转换、图像增强和边缘检测等。(2)车牌定位:从预处理后的汽车图像中分割出车牌图像。即在一幅车辆图像中找到车牌 所在的位置。(3 )字符分割:对车牌图像进行几何校正、去噪、二值化以及字符分割以从车牌图像中分 离出组成车牌号码的单个字符图像(4)字符识别:对分割出来的字符进行预处理(二值化、归一化),然后分析提取,对分 割出的字符图像进行识别给出文本形式的车牌号码。4汽车牌照识别系统的matlab实现4.1图像预处理与车牌定位输入的彩色图像包含大量颜色信息,会占用较多的存储空间,且处理时也会降低系统 的执行速度,因此对图像进行识别等处。

4、理时,常将彩色图像转换为灰度图像,以加快处理 速度。对图像进行灰度化处理、边缘提取、再利用形态学方法对车牌进行定位。具体步骤 如下:首先对图像进行灰度转换,二值化处理然后采用4X1的结构元素对图像进行腐蚀,去除图像的噪声。采用25X25的结构元素,对图像进行闭合应算使车牌所在的区域形成连通。 在进行形态学滤波去除其它区域。l=imread(DSC01344.jpg);% 读取图像figure(); subplot(3,2,1),imshow(l), title(原始图像);I1=rgb2gray(l);%转化为灰度图像 subplot(3,2,2),imshow(I1),title(灰度图像)。

5、;灰度图像I2=edge(l1,robert,0.09,both);% 采用 robert算子进行边缘检测 subplot(3,2,3),imshow(I2),title(边缘检测后图像);边缘检测后图像se=1;1;1; %线型结构元素I3=imerode(l2,se); % 腐蚀图像 subplot(3,2,4),imshow(l3),title(腐蚀后边缘图像);腐蚀后边缘图像se=strel(rectangle,25,25);矩形结构元素I4=imclose(l3,se);%图像聚类、填充图像 subplot(3,2,5),imshow(I4),title(填充后图像);填充后图像I5。

6、=bwareaopen(l4,2000);%去除聚团灰度值小于 2000的部分 subplot(3,2,6),imshow(l5),title(形态滤波后图像);形态滤波后图像y,x,z=size(I5);I6=double(l5);Y1=zeros(y,1);for i=1:yfor j=1:xif(I6(i,j,1)=1)Y1(i,1)= Y1(i,1)+1;endendendtemp MaxY=max(Y1);figure();subplot(3,2,1),plot(0:y-1,Y1),title(行方向像素点灰度值累计和),xlabel(行值),ylabel(像素);行方向像素点灰度值。

7、黒计和行值%求的车牌的行起始位置和终止位置%PY1=MaxY;while (Y1(PY1,1)=50)&(PY11)PY仁 PY1-1;endPY2=MaxY;while (Y1(PY2,1)=50)&(PY2PX1)PX2=PX2-1;endPX1=PX1-1;PX2=PX2+1;%分割出车牌图像% dw=l(PY1:PY2,PX1:PX2,:);subplot(3,2,3),imshow(dw),title(定位剪切后的彩色车牌图像 )定位剪切后的彩色车牌图像4.2车牌字符分割确定车牌位置后下一步的任务就是进行字符切分分离出车牌号码的全部字符图像if isrgb(I)I1 = rgb2gr。

8、ay(I);%将RGB图像转化为灰度图像else I1=I ; endg_max=double(max(max(l1);g_min=double(min(min(l1);T=round(g_max-(g_max-g_min)/3); % T为二值化的阈值m,n=size(l1);% d:二值图像%h=graythresh(I1);I1=im2bw(I1,T/256);subplot(3,2,4);imshow(I1),title(二值化车牌图像);二值化车牌图像I2=bwareaopen(I1,20);subplot(3,2,5);imshow(I2),title(形态学滤波后的二值化图像);。

9、中值滤波后的二值化图像y1,x1,z1=size(l2);I3=double(l2);TT=1;%去除图像顶端和底端的不感兴趣区域%Y1=zeros(y1,1);for i=1:y1for j=1:x1if(I3(i,j,1)=1)Y1(i,1)= Y1(i,1)+1 ;endendendPy 1=1;Py0=1;while (Y1(Py0,1)=20)&(Py1=3)&(Px1x1)|(Px1-Px0)10)Px1=Px1+1;endZ=l2(:,Px0:Px1,:);switch strcat(Z,num2str(i)case Z1PIN0=Z;case Z2PIN 仁Z;case Z3P。

10、IN2=Z;case Z4PIN3=Z;case Z5PIN4=Z; case Z6PIN5=Z; otherwisePIN6=Z; endfigure(3); subplot(1,7,i); imshow(Z);和d Ul仆!HlPxO=Px1;End4.3车牌字符识别字符识别方法主要有基于模板匹配算法和基于人工神经网络算法。基于模板匹配算法 是首先将分割后的字符二值化,并将其尺寸缩放为字符数据库中模板的大小,然后与所有模 板进行匹配,最后选取最佳匹配作为结果。建立数字库对该方法在车牌识别过程中很重要,数字库准确才能保证检测出的数据正确。基于人工神经元网络的算法有两种,一种是先对 特征提取待。

11、识别字符,然后用所获得的特征训练神经网络分配器;另一种是直接将待处理 图像输入网络由网络自动实现特征提取直至识别结果。在本程序中用基于人工神经元网络 识别车牌字符。在车牌字符识别部分,字符集中包含约50个汉字,26个大写英文字母及10个阿拉伯数字。总的字符样本并不太多。4.3.1构造训练样本如下图所示的数字和字母,将样本进行归一化为50X20大小,再将图像按列转换成一个1000X1的行向量,将上述18个图像的样本排列在一起构成1000X18的矩阵样本,尽可能多的采集汽车图像提取车牌,部分切分出车牌字符,构造出更多1000X18的矩形样本,用构造好的样本库对神经网络进行 训练。function 。

12、inpt = pretreatment(I)%YUCHULI Summary of this function goes here% Detailed explanation goes here if isrgb(l)11 = rgb2gray(I);elseI1=I;endl1=imresize(l1,50 20);% 将图片统一划为 50*20大小I1=im2bw(I1,0.9);m,n=size(l1);inpt=zeros(1,m*n);%将图像按列转换成一个行向量for j=1:nfor i=1:minpt(1,m*(j-1)+i)=I1(i,j);endend4.3.2构造输入样本。

13、,按同样的方法,将前面分割出的样本归一化。4.3.3神经网络进行识别。close all;clear all;%归一化训练样本%l0=pretreatment(imread(0.jpg);I1=pretreatment(imread(1.jpg);I2=pretreatment(imread(2.jpg);I3=pretreatment(imread(3.jpg);I4=pretreatment(imread(4.jpg);I5=pretreatment(imread(5.jpg);I6=pretreatment(imread(6.jpg);I7=pretreatment(imread(7.j。

14、pg);I8=pretreatment(imread(8.jpg);I9=pretreatment(imread(9.jpg);I10=pretreatment(imread(A.jpg);I11=pretreatment(imread(C.jpg);I12=pretreatment(imread(G.jpg);I13=pretreatment(imread(L.jpg);I14=pretreatment(imread(M.jpg);l15=pretreatment(imread(R.jpg);I16=pretreatment(imread(H.jpg);I17=pretreatment(im。

15、read(N.jpg);P=I0,I1,I2,I3,I4,I5,I6,I7,I8,I9,I10,I11,I12,I13,I14,I15,I16,I17; %输出样本 %T=eye(18,18);%bp神经网络参数设置net=newff(minmax(P),1000,32,18,logsig,logsig,logsig,trainrp);net.inputWeights1,1.initFcn =randnr;net.layerWeights2,1.initFcn =randnr;net.trainparam.epochs=5000;net.trainparam.show=50;%net.trai。

16、nparam.lr=0.003;net.trainparam.goal=0.0000000001;net=init(net);%训练样本 %net,tr=train(net,P,T);% 测试 %I=imread(DSC01323.jpg);I=imread(DSC01344.jpg);dw=location(I);% 车牌定位PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6=StringSplit(dw);% 字符分割及处理% 测试字符,得到识别数值 %PIN0=pretreatment(PIN0);PIN1=pretreatment(PIN1);PIN2=pretrea。

17、tment(PIN2);PIN3=pretreatment(PIN3);PIN4=pretreatment(PIN4);PIN5=pretreatment(PIN5);PIN6=pretreatment(PIN6);P0=PIN0,PIN1,PIN2,PIN3,PIN4,PIN5,PIN6;for i=2:7T0= sim(net ,P0(:,i);T1 = compet (T0) ;d =find(T1 = 1) - 1if (d=10)str=A;elseif (d=11)str=C;elseif (d=12)str=G;elseif (d=13)str=L;elseif (d=14)st。

18、r=M;elseif (d=15)str=R;elseif (d=16)str=H;elseif (d=17)str=N;elsestr=num2str(d);endswitch icase 2str1=str;case 3str2=str;case 4str3=str;case 5str4=str;case 6str5=str;otherwisestr6=str;endend%显示定位后的分割出的车牌彩图,%渝 AN7968%识别结果以标题形式显示在图上%s=strcat(渝,str1,str2,str3,str4,str5,str6);figure();imshow(dw),title(s。

19、);参考文献:2.基于单片机的单入机直流电服务器的研制系统的设计与研究. . . . . . .012345678901201234567890123456789012345678901234567890123456789012345678901234567890123456789012345678900 03456789 12 2 33 3 44 566 6 777 889 911TOROLA 单片机 MC68HC (8 )05PV8/A 内嵌 EEPROM 的工艺和制程方法及对良率的影响单,n片单试仪的研制研究应用研究设应计用与研研究究片片机机究于于片于 于于于于压 于于片于机 于于于于模。

20、 于于片于机增于制系统的研制)调节器ZE机机一!基基单基P/IP 协议栈的实现 采集与处理技术的研究 研究与开发AV冬卩r 系角控 机数实手现持控制面板的研制 浊度仪的研制 线切割 机 床短循环走丝方式研究与测研仪究的研制系制统的研制统究研究究 污染测量仪的研制 与的器实数的现控研改制造线监测技术议转换器 器的设计究及实现究研究与实现研究与实现系统的设计与实现议与栈应的用实现与应用能网络的水嵌入表式的电设子计血压计的设计项项目目论可证研报,告项,目本可行文档性支研究持完报整告下,可载,行支性持研任究意报编告辑,!项选目推择我广们,项目选研择究成报功告!,项目设计,项目建议书, 项目论可研证报,告项目,本可文行性档支研究持报完告整下,载可行,支性持研任究意报编告辑,项!选目择推我广,们,项选目研择成究报功告!,项目设计,项目建议书。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于matlab的车牌定位算法设计与实现,原创】基于matlab的汽车牌照识别系统设计与实现... 的相关文章

  • 使用curl命令操作elasticsearch、使用http 查询ES

    使用curl命令操作elasticsearch And 使用http 查询ES 第一 cat系列 cat系列提供了一系列查询elasticsearch集群状态的接口 你可以通过执行 curl XGET localhost 9200 cat
  • Mac安装Java环境

    打开Mac终端 输入java version 检查当前Java环境 显示没有Java环境 下载安装jdk 默认配置即可 安装完成后 再次检查Java环境 已识别到所安装的Java环境 检查Java安装目录 有2个 且默认使用Plug Ins
  • Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)

    原文地址 http blog csdn net congcong68 article details 41113239 互联网的发展 网站应用的规模不断扩大 常规的垂直应用架构已无法应对 分布式服务架构以及流动计算架构势在必行 Dubbo是
  • Java的多重循环和程序调试

    1 掌握Java二重循环 多重 嵌套 注意 外层循环控制行 内层循环控制列 每行打印的内容 外层循环执行一次 内层循环执行一遍 一般多重循环值的就是二重循环 2 使用跳转语句控制程序的流程 return结束程序 结束当前的方法 返回到方法的
  • 补偿策略-刷新创建失败的禅道工单

    背景 当平台创建工单时需要将数据同步到第三方 由于某些原因 如网络延迟没有收到响应 但平台工单需要正常创建 此时需要创建异步补偿策略 1 创建补偿任务 Slf4j public class QueryZenTaoRunable extend
  • 分布式事务的几种解决方案

    一 基础概念 1 什么是事务 事务可以看做是一次大的活动 它由不同的小活动组成 这些活动 要么全部成功 要么全部失败 2 本地事务 在计算机系统中 更多的是通过 关系型数据库来控制事务 这是利用数据库 本身的事务特性来实现的 因此叫 数据库
  • 【干货】Redis在Java开发中的基本使用和巧妙用法

    Redis是一款高性能的内存数据结构存储系统 能够支持多种数据结构类型 如字符串 哈希 列表 集合 有序集合等 也能够支持高级功能 如事务 发布 订阅 Lua脚本等 具有高可用性 高并发性和可扩展性的优点 在Java开发中 Redis可以作
  • Javascript编程语言-现代模式,“use strict“,变量,命名变量,常量,保留字

    现代模式 use strict 长久以来 JavaScript 不断向前发展且并未带来任何兼容性问题 新的特性被加入 旧的功能也没有改变 这么做有利于兼容旧代码 但缺点是 JavaScript 创造者的任何错误或不完善的决定也将永远被保留在
  • sqlmap的使用 (以封神台题目为例)

    一 sqlmap选项 目标 至少要选中一个参数 u URL url URL 目标为 URL 例如 http www site com vuln php id 1 g GOOGLEDORK 将谷歌dork的结果作为目标url 请求 这些选项可
  • Linux— 网络编程套接字

    目录 预备知识 认识端口号 理解源端口号和目的端口号 认识TCP协议 认识UDP协议 网络字节序 socket编程接口 socket 常见API sockaddr结构 sockaddr 结构 编辑 sockaddr in 结构 in add
  • C++ 多线程编程(一)- C++11中的线程类

    C 多线程编程 一 C 11中的线程类 1 C 11 多线程编程库 2 线程的创建 2 1 初始化构造函数 2 2 移动构造函数 3 线程的基本操作 3 1 join 阻塞 等待线程结束 3 2 detach 分离线程 1 C 11 多线程
  • 腾讯云时序数据库 CTSDB 开放公测

    欢迎大家前往云 社区 获取更多腾讯海量技术实践干货哦 作者 李晓慧 近日 腾讯云推出云上时序数据库CTSDB Cloud Time Series Database CTSDB 是一款分布式 可扩展 高可靠的时序数据库 适用于有海量时序数据的
  • 数组的常用方法总结

    获取指定数组的长度 arr length console log a b c length 3 通常情况下 如果想判断一个数组是否为空 可以通过数组的长度是否为零来判断 数组和字符串的相关转换 2 1 数组转换为字符串 console lo
  • HW SR505红外传感器模块 一直输出高电平

    重点 1 505检测的是物体移动 不是前面是否有人 如果一个人一动不动也是不会检测出来的 2 505的正脚必须接5v 如果接3 3v则会不灵敏 505输出脚高电平总是3 3v 如果out引脚一直输出高电平试一下接 5v 3 505输出一次高
  • 主业外的第二副业选什么比较好,适合普通人的坚持之路

    说到副业 可能大部分人觉得不知道应该做什么 只是因为在物质日益高涨的今天 单单靠上班的一份工资已经不足以实现自己的一些人生规划了 上班永远是别人给你的职位 随时可以让你失去它 真正的经济自由是靠自己 所以需要在工作之余发展一份自己的副业 来
  • linux系统 InfluxDB安装及配置,修改数据路径,傻瓜教程

    linux系统磁盘挂载教程 linux服务器磁盘挂载 新手手把手教学 傻瓜式教程 风电猿的博客 CSDN博客 START 1 安装包下载 提供1 8 0版本的Influxdb安装包 百度网盘 请输入提取码 qlyx 2 安装指令 yum l
  • 关于maven仓库中的_remote.repositories

    2019独角兽企业重金招聘Python工程师标准 gt gt gt 问题描述 既然有这个jar包为什么还会报错呢 无意间通过dependency tree命令查看依赖 发现 这说明 core common jar包依赖paas thirdp
  • Node.js-Gulp的使用

    概述 Gulp 是基于 Node 平台开发的前端构建工具 主要用来设置程序自动处理静态资源的工作 通过 Gulp 能自动化地完成 html css javascript less sass image 等文件的测试 检查 合并 压缩 格式化
  • 单个按键控制数码管显示数字(2)

    一 主要功能 单个按键控制数码管显示数字 二 代码实现 代码如下 include

随机推荐

  • Unity3D实现简单的血条功能

    在游戏中血条是一个很常见的东西 它可以直观的显示血量 在很多地方都有运用 尤其是小兵或者怪物身上 那么该怎样去制作一个简单的血条呢 其实很简单 血条就是一个UI而已 用一张长条形的图片即可实现 具体操作如下 1 先创建一个3D的物体命名为P
  • web项目----实现简单的增删查改

    本人稀土掘金地址 coding Rayce 的个人主页 动态 掘金 juejin cn 首先了解javaEE的三层架构 由图中我们可以看出 javaEE的三层架构严格的规定了项目中的每个模块 每个层需要完成的事情 这样会使项目的变得非常简洁
  • gtest使用入门(6)-win下使用vscode和cmake构建

    文章目录 概述 一 环境准备 二 源码准备 三 准备googletest源码和测试代码 四 构建并编译源码和测试代码 五 执行测试 六 总结 七 源码获取 概述 最近尝试在windows下使用googletest 并使用CMake进行构建
  • 计算机网络习题(数字数据编码为数字信号)

    计算机网络习题 数字数据编码为数字信号 题目描述 画出非归零编码 曼切斯特编码 差分曼切斯特编码 知识点分析 非归零码 用高 低电压分别来代表 1 0 二进制 相反也可以 曼彻斯特编码 将一个位 位是指一个比特 即上图中两个虚线之间的范围称
  • GeoGebra

    文章目录 一 GeoGebra简介 1 GeoGebra在线图形计算器 2 GeoGebra应用 3 在线资源平台 二 官方网站 1 GeoGebra官网 2 GeoGebra项目源码 3 GeoGebra官网教程 3 1 Learn Ge
  • 05 集成测试:如何进行微服务的集成测试?

    上一课时 我讲解了微服务架构下的单元测试 它是一种白盒测试技术 目的是验证软件代码中的每个单元 方法或类等 是否符合预期 本节课我来讲解微服务架构下的集成测试 集成测试的概念 说到集成测试 相信每个测试工程师并不陌生 它不是一个崭新的概念
  • wps文档格式转换

    网上关于word pdf等相关文档格式转换代码较多 也使用了许多五花八门的三方库来实现 效果也参差不齐 虽然有unoconv服务可以统一 但是效果也不是很满意 国产wps软件的效果是不用说的 但是一直都是支持windows系统 不过现在也有
  • 批量生成固定格式的图片,写上不同的文字

    批量生成下面这种标签 图片 红色圈起的位置和二维码要根据excel的数据动态变化 二维码扫出来是订单编号 思路 1 xlrd库读取excel数据 2 用MyQR库生成订单号的二维码 3 pillow库生成适当大小的空白底图 先是把二维码图片
  • H5 DOM 全屏 api requestFullscreen

    文章转载自 http javascript ruanyifeng com htmlapi fullscreen html toc7 js 设置 退出和判断全屏的方法 设置全屏 退出全屏 全屏属性 全屏事件 全屏状态的CSS 设置全屏 req
  • 操作系统基础-多线程处理浅析

    对于一个大型的复杂项目 或者多人协作的项目 如何处理同时运行的线程 如何在线程之间传递消息 处理同步是首要问题 经历过C 技术面的同学应该深有体会 在面试中 多线程 观察者模式 数据总线 事件总线都是经常被问到的重灾区 最近在工作中遇到的此
  • Python 多线程-共享全局变量问题

    多线程 共享全局变量问题 多线程可能遇到的问题 假设有两个线程t1和t2 都要对一个变量g num进行运算 1 两个线程t1和t2分别对g num各加10次 g num的最终结果 import threading import time g
  • 定向越野(添加任务信息和根据坐标位置触发游戏)

    1 首先获取任务地点的实际坐标值 用hashmap存储 HashMap
  • matlab里的随机数函数,MATLAB中常用的产生随机数的几种函数

    1 rand函数 rand函数用于产生在区间 0 1 的均匀随机数 它是平均分布在 0 1 之间 一个称为seed的值则是用来控制产生随机数的次数 均匀随机数函数的语法为rand n rand m n 其结果分别产生一矩阵含n n个随机数和
  • uniapp之最新获取用户昵称以及头像

    目录 前言 一 只展示不传递给后端 二 方法二 前言 在uniapp登录时候最开始想的就是手机号登录之后 就获取用户的昵称以及头像 存储起来 登录的时候直接显示在我的页面 最开始使用的是 uniapp官网自带的uni getUserProf
  • C语言简易学生管理系统(含源码)

    项目部分截图 以下是完整源代码 cpp文件 include StudentManagerSystem h int main 改变控制台字体颜色 SetConsoleTextAttribute GetStdHandle STD OUTPUT
  • java 力扣 88题 合并两个有序数组

    class Solution public void merge int nums1 int m int nums2 int n List
  • SpringBoot定时任务注解@Scheduled中fixedRate和fixedDelay

    Scheduled fixedRate 2000 public void myJob1 System out println LocalDateTime now 定时任务O O 休眠模拟代码块运行的时间 try TimeUnit SECON
  • 电路的等效变换(二)

    文章目录 一 电路的等效变换 等效有什么作用 等效变换的特点 二 电阻的串联和并联 三 电压源 电流源的串联和并联 电压源与支路的串 并联等效 理想电流源的串联和并联 电流源与支路的串 并联等效 四 实际电源的两种模型及其等效变换 之前的K
  • 如何把访问局域网时保存的密码给清除?

    问 一次在局域网中访问其他电脑时 弹出窗口需要我输入用户名和密码 结果我选择了 保存密码 项 以后每次访问那台电脑时都不需要输入密码了 这台电脑马上将会让给其他人用了 我现在想清除先前保存的那个密码 不知如何操作 答 要想清除保存的密码可以
  • 基于matlab的车牌定位算法设计与实现,原创】基于matlab的汽车牌照识别系统设计与实现...

    原创 基于matlab的汽车牌照识别系统设计与实现 由会员分享 可在线阅读 更多相关 原创 基于matlab的汽车牌照识别系统设计与实现 14页珍藏版 请在人人文库网上搜索 1 基于matlab的汽车牌照识别系统设计与实现摘要 本次作业的任