matlab中imrote,基于MATLAB的车牌识别系统的设计与研究

2023-11-05

41528d3028836879cd698677c3999917.gif基于MATLAB的车牌识别系统的设计与研究

基于MATLAB的车牌识别系统的设计与研究 摘要 汽车牌照自动识别系统是智能交通系统的重要组成部分,主要包括图像采集、图像预处理、车牌定位、字符分割、字符识别等五个核心部分,并提出了一套基于MATLAB的汽车牌照自动识别系统的方法。该方法具有很高的识别能力,能有效解决在有噪声和光照条件恶劣情况下车牌的定位、字符倾斜、字符分割提取等复杂问题,最后运用上述方法对汽车图像进行处理,表明MATLAB在车牌识别系统中的运用非常有效。 关键词:车牌识别,MATLAB,图像处理 由于机动车辆在在行驶过程中一般会受到光照强度、车辆行驶速度、摄像机拍摄角度等外界因素的影响,故在设计车牌自动识别系统时,要适当提高其自动识别的能力,对以上外界因素有一定的容阈。传统的设计方法为:利用静止的汽车牌照图片,利用C语言或C++语言来对图像进行处理,编程很复杂,维护难度大。而MATLAB语言对处理图像而言非常方便,可直接调用已经编好的函数,如可直接调用现成的函数进行复杂的傅里叶变换、拉普拉斯变换、二值化处理、数字滤波等操作。 1系统整体框架的实现 该系统主要由图像采集、图像预处理、车牌定位、字符分割、字符识别等五个核心部分组成。图像采集主要是指用摄像机拍摄在路面上行驶的汽车。图像预处理单元是指把拍摄下来的图片进行滤波、灰度化、二值化等预处理。因为拍摄的是整个汽车的照片,感兴趣的只是车牌的那部分,故要在整张图片上对车牌定位,字符分割就是对定位好的车牌图片的七个字符一一分割出来,最后对分割出来的七个字符进行识别。 2各单元功能的实现 2.1图像采集 图像采集是该系统的第一步,照片质量的好坏直接关系到系统识别的精度,故选择好的摄像设备,设置好的摄像角度是关键。随着现代社会的发展,数码照相机的分辨率已越来越高,可使用红外传感器来控制照相机的开启与关闭,照相机通过串口通信来传递图片信息给计算机。 2.2图像预处理 由于照片拍摄的好坏有很多外界因素决定,由于光照强度的影响,晴天拍摄的照片与阴天拍摄的照片质量肯定不一样,白天和晚上更是不同;由于每部车的车速的不一致,慢速行驶的车辆会比快速行驶的车辆拍摄的照片质量好一些,而且车速过快,会使照片的字迹模糊,这肯定会影响字符的识别。故要对拍摄的 照片进行灰度化、二值化、滤波等预处理。 (1)灰度化和二值化处理 拍摄的彩色图像包含很多的颜色信息,会占用较大的储存空间,还会影响系统的处理速度,图像的背景颜色有时和车牌颜色一致,这样就会增加车牌定位的难度。经试验检验,取阀值0.3得到的图像最理想,具体的MATLAB程序如下: I=imread('paizhao.jpg');%读入牌照图片 imshow(I,[]);%显示读入的牌照图片 I2=rgb2gray(I);%转化为灰度图像 figure,imshow(I2) I3=im2bw(I2,0.3);%二值化处理 figure,imshow(I3); (2)滤波处理 由于图像中不可避免的存在有噪声,常用的滤波方法有:低通滤波、高通滤波、带通滤波、带阻滤波。在MATLAB中调用Wiener2函数对图像进行滤波,具体的调用格式如下:Wiener2(I,[A,B],noise),I表示输入的图像,[A,B]卷积使用的领域大小,noise是噪声强度。 2.3车牌定位 由于整个图片的信息量太大,对系统有用的只是车牌的部分,为了不影响系统的处理速度,需要对车牌进行定位。根据我国机动车牌号(GA36-92)标准,所有的牌照都是矩形的,而且长宽的标准尺寸为44cm和14cm,本文根据牌照的这一特征来进行车牌的定位。车牌的长宽比为22:7,故面积与周长的平方 的关系为22a×7a2(7a+22a)2≈1/22,其中a为车牌的宽,可调用area和perimeter函数分别计算面积和周长。若检测到某区域的面积与周长的平方之比为近似为1/22则可确定为车牌部分。 2.4字符分割和归一化处理 (1)车牌字符的分割 字符分割就是把牌照上的字符分割成一个个单个的字符,传统的字符分割方法有投影法、模板匹配法、聚类分析法。投影法是指:先自下由上对图像进行扫描,遇到第一个白色点,记录下来。在自上由下进行逐行扫描,这样就得到图像的大致高度,再从左至右扫描,当碰到第一个白色点时,作为字符起点,继续扫描直到没有白色象素点时作为第一个字符的终点,然后继续按这种方法扫描,直至全部扫描完毕。模板匹配法是指:先把二值图像进行垂直投影,得到一个函数W(x),搜索W(x)的波谷值,并分别把各个波谷标上序号,在相邻的两个波谷之间分别作为左右边界进行分割。聚类分析法是指:众所周知汽车牌照一般是由7个字符组成,以等于车牌宽度的1/7为阀值,对车牌图像按行进行扫描,若发现有线段长大于阀值,则认为是牌照的上下边框。再以等于车牌高度的3/5为阀值,对车牌图像按列进行扫描,若发现有线段长大于该阀值,则认为是牌照的左右边框,因此可除去边框部分。最后把车牌平均分割成7块,达到分割的目的。本文采用投影法,因为投影法比较准确且编程较简单,易于实际操作,能满足在复杂环境下,分割汽车牌照字符。 (2)字符的归一化 由于数码相机拍摄的汽车图像大小不一样,所以得到的牌照上的字符大小就不一样,为了便于字符的识别,需要对字符进行归一化处理。归一化处理的目的就是使车牌字符同标准模块里面的字符特征一样。归一化处理分为倾斜度校正和大小归一化,而倾斜度校正前面已经调用MATLAB工具箱中的imrote涵数,而大小归一是指在长度和宽度方向上分别乘以一个比例因子,使其等于标准模块的字符大小,大小归一化常用的方法有两种:一种是将整个牌照图像按线性比例放大或缩小到标准模块尺寸,这样字符就自然的变为标准模块尺寸;另一种是分别从水平投影和垂直投影两个方向上对字符象素的大小进行归一化处理。在本文中运用MATLAB工具箱中的imresize涵数,进行归一化处理。 2.5字符识别 字符识别是本系统中的最后一步,也是最重要的一步,字符识别的精确度直接影响车牌识别系统的精确度。字符识别的方法一般有三种:人工神经网络算法、模板匹配法和BP神经网络。人工神经网络算法是模拟人脑或自然神经网络,是近些年来提出的新型技术,它的优点是:①具有强大的逼近功能可任意逼近复杂的非线性关系;②具有很强的自适应功能;③具有很好的鲁棒性和容错性;④具有储存功能,但系统还不成熟,编程复杂。模板匹配法是将归一化的字符分别与字符库的字符进行比较识别。我国的车牌字符包括50多个汉字,25个大写英语字母,10个数字,可以把这些字符做成标准的模块并建立一个数据库。实践证明模板匹配法操作简单,抗干扰能力强,识别率高。BP神经网络又叫误差反向传播算法的人工神经网络,具有多学科交叉技术领域的特点。在MATLAB工具箱中可调用newlin和adapt函数进行字符识别。本系统运用简单的模板匹配法进行字符的识别,这就要求要建好标准的模板字符库。 3结束语 从MATLAB运行结果来看,该系统可以很好地完成车牌的定位、字符的分割和字符的识别,与传

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

matlab中imrote,基于MATLAB的车牌识别系统的设计与研究 的相关文章

  • 当里个当,免费的HTML5连载来了《HTML5网页开发实例详解》连载(一)

    读懂 HTML5网页开发实例详解 这本书 你还在用Flash嘛 帮主早不用了 乔布斯生前在公开信 Flash之我见 中预言 像HTML 5这样在移动时代中创立的新标准 将会在移动设备上获得胜利 国际巨头Google 苹果等都支持HTML 5
  • IDEA写爬虫,配jsoup

    环境变量配了 jdk的lib目录下也加了jsoup的jar包 返回IDEA还是没有 点击左上角的File进Project Setting SDKs 选择自己的jdk文件 在右侧点击 把jar包导进来
  • K8S 安装步骤

    K8S 安装步骤 一 为每台机器安装docker 1 安装docker 1 1 卸载旧版本 sudo yum remove docker docker client docker client latest docker common do
  • 【游戏开发】[用代码创建unity5.X的动画状态机]

    不废话 上代码 可能有的人 会质疑 这不是editor的功能吗 是的 但是这个允许在运行时候使用 你们跟一下代码看看继承于哪里就知道了 using UnityEngine using System Collections using Sys
  • JAVA-时间日期格式转换

    第一种方式 获取当前时间然后按照指定格式转换成String类型 DateFormat dateFormat new SimpleDateFormat yyyy MM dd HH mm ss Calendar cal Calendar get
  • 【Shell牛客刷题系列】SHELL31 netstat练习3-输出每个IP的连接数

    该系列是基于牛客Shell题库 针对具体题目进行查漏补缺 学习相应的命令 刷题链接 牛客题霸 Shell篇 该系列文章都放到专栏下 专栏链接为 专栏 Shell 欢迎关注专栏 本文知识预告 本文复习了awk grep sort uniq命令
  • DEiT实战:使用DEiT实现图像分类任务(二)

    文章目录 训练 导入项目使用的库 设置随机因子 设置全局参数 图像预处理与增强 读取数据 设置模型 train py train dist py 定义训练和验证函数 训练函数 验证函数 调用训练和验证方法 运行以及结果查看 测试 完整的代码
  • win10 git bash 设置别名

    使用git挺久时间 每次输入需要敲入长命令已感费劲 zshell git 有不少别名 可以提高输入效率 从而寻找windows下设置 git bash 别名的方法 环境 git v2 22 0 win10 方法1 通过 profile 文件
  • 使用gtest做单元测试

    使用gtest做单元测试 文章目录 使用gtest做单元测试 1 用gtest写测试工程的大致流程 配置gtest头文件及库 gtest的相关概念 TEST与TEST F 断言 事件机制 参考 gtest是一个跨平台的 Liunx Mac
  • Pycharm 常用快捷键

    常用快捷键 快捷键 功能 Ctrl Q 快速查看文档 Ctrl F1 显示错误描述或警告信息 Ctrl 行注释 可选中多行 Ctrl Alt L 代码格式化 Ctrl Alt O 自动导入 Ctrl Alt I 自动缩进 Tab Shift
  • 【网络】多路转接——poll

    作者 一只大喵咪1201 专栏 网络 格言 你只管努力 剩下的交给时间 书接上文五种IO模型 select poll epoll poll 认识接口 简易poll服务器 poll的特点 epoll 认识接口 epoll原理 简易epoll服
  • CentOS7 安装Redis6过程详解

    CentOS7 安装Redis6过程详解 一 安装redis 1 下载Redis 2 解压 3 使用make编译 4 编译完成后在目录中执行make install安装redis服务 5 安装完成 二 设置redis后台运行以及远程连接 1
  • 华为OD机试 - 找车位(Java)

    题目描述 停车场有一横排车位 0代表没有停车 1代表有车 至少停了一辆车在车位上 也至少有一个空位没有停车 为了防剐蹭 需为停车人找到一个车位 使得距停车人的车最近的车辆的距离是最大的 返回此时的最大距离 输入描述 一个用半角逗号分割的停车
  • Zookeeper 基本数据模型

    介绍 ZooKeeper是一个树形结构 类似于前端开发中的tree js组件 ZooKeeper的数据模型也可以理解为linux unix的文件目录 usr local 每个节点都称为znode 它可以有子节点 也可以有数据 每个节点分为临
  • 正则表达式-分组与后向引用

    前文中 已经总结了正则表达式中的常用字符 次数匹配 位置匹配等 这篇文章中 我们来了解一下正则中的 分组 与 后向引用 什么是分组 什么是后向引用 我们慢慢聊 先来说说什么是分组 算了 思考了半天 我也不知道从何说起 先看个示例吧 根据示例
  • 对NetBackup 问题进行故障排除的步骤

    错误消息通常是指出哪里出现故障的手段 如果在界面上没有看到错误消息 但仍怀疑有问题 请检查报告和日志 NetBackup提供了各种报告和日志记录工具 这些工具可提供错误消息 直接为您指出解决方案 日志还可显示什么运行良好以及当发生问题时Ne
  • html设置 元素最小宽度,css如何让元素宽度自适应屏幕大小

    如今 手机的快速发展使得越来越多的人开始使用手机上网 那么就会出现一个问题 如何才能让PC端的网页在手机上正常显示 让元素能够自动适应不同的屏幕大小呢 css如何让元素宽度自适应屏幕大小 1 在网页代码的头部 加入一行viewport元标签
  • Unity中SLua、Tolua、XLua和ILRuntime效率评测

    Unity脚本效率评测 对SLua Tolua XLua和ILRuntime四个脚本插件进行效率测试 对框架脚本进行选型 本文项目 https github com cateatcatx UnityScriptPTest tolua htt
  • Apache Shiro(三)——Spring Boot 与 Shiro的 整合

    在了解了Apache Shiro的架构 认证 授权之后 我们来看一下Shiro与Web的整合 下面以Spring Boot为例 介绍一下Spring Boot 与 Shiro的 整合 一 创建一个Spring Boot项目 可以使用IDEA

随机推荐

  • asio(十二)、 异步tcp、udp服务器

    官网教程 https think async com Asio asio 1 26 0 doc asio tutorial tutdaytime7 html asio 异步tcp udp服务器 int main try asio io co
  • 【vue】vue3中状态管理Pinia(Vuex5)使用快速上手

    Pinia和Vuex一样都是是vue的全局状态管理器 其实Pinia就是Vuex5 只不过为了尊重原作者的贡献就沿用了名字Pinia 关于vuex的介绍可以查看我之前的文章前端状态管理之Vuex全解析 一 安装 npm i pinia S
  • 好文转载 Elasticsearch扫盲篇

    Elasticsearch扫盲篇 编程芝士 于 2023 05 01 22 29 09 发布 507 收藏 4 分类专栏 Elasticsearch 文章标签 elasticsearch 数据库 大数据 原力计划
  • Android开发 指纹识别

    1 添加指纹识别权限
  • Java Map集合知识点整理(疯狂Java讲义读书笔记)

    JDK文档 http tool oschina net apidocs apidoc api jdk zh Map Map用于保存具有映射关系的数据 因此Map集合里保存着两组值 一组值用于保存Map中的Key值 另一组值用于保存Map中的
  • VSCode 集成chatGPT插件

    VSCode 是一款常用的编辑器 可以通过安装插件来扩展其功能 ChatGPT 是一款基于 OpenAI 的 GPT 3 语言模型的聊天机器人插件 可以让 VSCode 具备聊天机器人的功能 要在 VSCode 中集成 ChatGPT 插件
  • qt下实现文件的拖拽打开

    引言 此文用于记录按下鼠标左键不放 拖动文件到程序中打开 该示例中只设置了可以拖动的文件类型为 h cpp txt这三种文件类型 程序运行的效果 示例 下面是具体的实现 项目的结构 具体的实现代码 如下 main cpp include d
  • 网络层之IP协议详解

    网络层 说简单点 就是在复杂的网络环境中确定一个合适的路径 我们来了解一下网络层中一个重要的协议 IP协议 IP协议 1 概念 IP协议是TCP IP协议簇中的核心协议 也是TCP IP的载体 所有的TCP UDP ICMP及IGMP数据都
  • 自定义期间查询数据库

    Python连接数据库匹配 import pandas as pd import numpy as np import pymysql import datetime 连接mysql conn pymysql connect host xx
  • KyLin的网页界面使用

    1 美图 上一篇 http blog csdn net qq 21383435 article details 75198823 1 根据上一张分析的内容得知 涉及到的字段是 pro表的 字段 ID 商品名称 价格 购买数量 付款 类别ID
  • 快速基于nodeJS+vue+vuex+mysql+redis建立一个后台管控系统

    structure admin structure admin是一个后台管控系统的架子 技术栈 nodeJS vue vuex mysql redis 前端使用vue的element ui的组件库 后端使用nodeJS的服务 数据库mysq
  • 求一行字符串的长度。(C语言)

    代码 include
  • hadoop集群搭建

    文章目录 一 基本配置 所有节点 一 配置静态网络 二 修改主机名和修改host文件 三 禁用SELINUX 四 关闭防火墙 并取消开机自启动 五 配置NTP时间同步 集群所有节点 六 下载一下vim编辑器 七 安装JDK1 8 八 创建h
  • 【Mysql高级】【第十五章】【锁】

    锁 1 概述 2 Mysql并发实务访问相同记录 2 1 读 读 2 2 写 写 2 3 读 写或者写 读 2 4 并发问题的解决方案 3 锁的不同角度分类 3 1 从数据操作的类型划分 读锁 写锁 0 行级别x锁 和 s锁的兼容性问题 1
  • qt connect多次

    1 坑的现象 有时项目中一个信号发出 对应连接的槽函数会执行多次 普通刷新界面都不会有问题 但是特别频繁的就会影响性能 如果是改变数据的 更有甚者会异常崩溃 2 遇坑的原因 qt中同一实例的同一信号和槽 connect多次 当信号发出时 槽
  • AD9 PCB文件黑色区域如何改变?

    PCB的大小是由KeepOut层定义的 用机械层定义有时候 黑色区域无这方面的意义 改变黑色区域大小可以用Design BoardShape RedefineBoardSharp来完成
  • 国内外常用公共NTP网络时间同步服务器地址

    目录 太长不看 NTP Pool Project NTP ORG CN NTP授时快速域名服务 HSDN Home Server Data Network 本地服务器数据网络 企业 阿里巴巴 腾讯 微软 苹果 谷歌 Facebook Clo
  • 从零开始学C++之STL(一):STL六大组件简介

    一 STL简介 一 泛型程序设计 泛型编程 generic programming 将程序写得尽可能通用 将算法从数据结构中抽象出来 成为通用的 C 的模板为泛型程序设计奠定了关键的基础 二 什么是STL 1 STL Standard Te
  • 高校圆桌派-解惑关于IT行业的3+N个问题

    高校圆桌派 话题风暴等你来 即日起参与 高校圆桌派 活动 就有机会获得CSDN高校圆桌大礼包和CSDN周边礼品免费包邮送到家 关于高校圆桌派 高校圆桌派活动是由CSDN高校俱乐部官方发起 征集同学们感兴趣的IT行业问题或大家最关心的热门话题
  • matlab中imrote,基于MATLAB的车牌识别系统的设计与研究

    基于MATLAB的车牌识别系统的设计与研究 基于MATLAB的车牌识别系统的设计与研究 摘要 汽车牌照自动识别系统是智能交通系统的重要组成部分 主要包括图像采集 图像预处理 车牌定位 字符分割 字符识别等五个核心部分 并提出了一套基于MAT