车牌识别之车牌定位(方案总结)

尊敬原作者,转自:http://blog.csdn.net/hqw7286/article/details/5810353

 

一直研究车牌识别算法,主要关注车牌定位和字符识别。我想分享一下我对车牌定位的看法。

从根本上讲,车牌定位的算法分为三类,一类是基于边缘的,一类是基于颜色的,一类是基于机器学习的,这三种方法我都做过实验,基于边缘的最简单也最有效,如果对于收费站和小区的应用,做到99%以上的检测率不是件难事,但如果场景复杂一点,误检会比较多,但并不会漏掉真正的车牌,只是虚警率高点,可以通过先验知识、颜色和后面的分割加以去除,误检不是重点。基于颜色的定位算法,从根本上讲也可以算是基于边缘的一种,无非是利用彩色边缘或者灰度图像边缘和颜色一起来定位,基于颜色的车牌定位算法用于高清图片效果不错,对于一般的场景我认为没必要用颜色进行定位,但初期用颜色先去除一些明显不是车牌的区域还是比较有效的。基于机器学习的算法进行车牌定位或者说检测,关键是找到好的特征和好的训练方法,不少人利用adaboost+haar特征进行车牌检测,从我的实验结果来看,检测率也能达到99%以上,但同时虚警率也非常高,会出现很多误检,而且很难把车牌的区域完整的检测出来,所以如果单独要用机器学习的算法还是不太可行,不过可以先利用边缘信息找到候选区域,然后用adaboost去去除非车牌区域,这个效果还是蛮不错的。

对于边缘的检测,如果车牌在图像中占的比例不是很小,普通的差分和全局二值化就可以达到很好的效果,如果对于高清图像(譬如要检测几个车道)或者场景很复杂,导致车牌所占图像的比例很小,还有就是车牌处于比较暗的地方,而整个场景很亮,这个时候差分得到的边缘就不会很丰富,如果利用全局二值化就可能导致车牌区域检测不到边缘,解决办法一就是对图像进行灰度拉伸或增强,解决办法二就是换边缘检测的方法(譬如sobel),解决办法三就是改进二值化的方法。对于图像增强的方法我要特别提一下直方图均衡化,很多论文上都会说对输入图片先进行直方图均衡化,但我的实验发现,晚上的图片如果进行直方图均衡化操作后会导致噪点特别多,而且可能会导致车牌区域检测不到边缘,总之图像增强是一把双刃剑,需要慎重考虑。

如果利用边缘进行定位,关键是要想办法一定要检测出车牌区域的边缘。

总结一下车牌定位,利用边缘是王道,可以先粗检再精检,颜色可以用于精定位和去除误检,机器学习如果想要好的结果得需要好的特征,但目前好像还没有。我个人认为车牌定位的难点不在于找到车牌区域,而在于怎么对车牌区域进行更精确的定位,而精定位的难点在于左右精定位,以便于后面的分割算法。

转载于:https://www.cnblogs.com/xidongs/p/3165265.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400475.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Proteus仿真单片机:51单片机的仿真

目录新建工程调试在Proteus中编写程序导入Keil生成的Hex程序Windows 10 20H2 Proteus 8 Frofessional v8.9 SP2 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 新建工程 设置名称和路径 下一步 下一步 选择系列、控制器和编译器 双击MCU设置主频 …

CentOS多网卡重命名配置

CentOS多网卡重命名配置在CentOS7中我安装了3块网卡,但是名字是enoxxxxx的格式,让我这个有强迫症的***座很是不爽,以下是我配置网卡并且重命名为ethx的详细步骤前提工作要做好:1.查看网卡UUID# nmcli con show名称 UUID …

Linux 命令行输入

这几天刚刚接触到Linux,在windows上安装的VMWare虚拟机,Centos7。安装什么都是贾爷和办公室的同事帮忙搞定的。 在虚拟机界面,按快捷键CtrlAltEnter,可以全屏显示Linux界面,再按一次则退出全屏。 如何在Linux里输入命令…

【51单片机快速入门指南】2.5:并行I/O扩展与8255A

目录硬知识单片机I/O扩展基础知识I/O接口电路的功能速度协调输出数据锁存数据总线隔离数据转换增强驱动能力单片机并行扩展总线并行扩展总线的组成80C51单片机并行扩展总线I/O编址技术可编程并行接口芯片82558255硬件逻辑结构口电路总线接口电路A组和B组控制电路中断控制电路82…

24小时制时间格式和12小时制时间格式

yyyy-MM-dd HH:mm:ss -------24 yyyy-MM-dd hh:mm:ss -------12转载于:https://www.cnblogs.com/hbhzz/p/3165370.html

win 下 apache2.4 +tomcat7 集群

为什么80%的码农都做不了架构师?>>> 反正每次来做一个不熟悉的东西,就是各种的search ,前一次去做过一个apache的东西,各种蛋疼,各种不能用。好多的东西也是比较旧了的咯。 这次结合前辈的各种东借西拿,总…

Proteus常见电平状态

目录高态其他低态Windows 10 20H2 Proteus 8 Frofessional v8.9 SP2 摘自proteus常见状态 —— 山科董国正 高态 PHI 电源高态:电源高逻辑SHl 强电高态:主动输出高逻辑WHI 弱电高态:被动输出高逻辑 其他 FLT 悬空态:悬空输出…

简单理解正则表达式

我理解的正则表达式: 正则表达式就是用于字符(串)匹配时的一种描述字符串的表达式。 关于正则表达式: 预定义的字符类 用\d可以匹配一个数字;用\D表示非数字字符[^\d]用\w可以匹配一个字母或数字;用\W表示非…

最后一行数据

最后一行数据 设计要点:导入外部数据、SQL、数据源、汇总行 秀秀:既然你说第一行的数据那么重要,那俺觉得最后一行数据也很重要。 阿金:为什么? 秀秀:因为最后一行数据往往是汇总行,一般引用数据…

Proteus仿真单片机:PIC18单片机的仿真

目录新建工程ProteusMPLAB X IDE调试Windows 10 20H2 Proteus 8 Frofessional v8.9 SP2 MPLAB X IDE v5.45 新建工程 Proteus 下一步 下一步 选择芯片、编译器 搭建实验电路 MPLAB X IDE MPLAB X IDE 新建工程 选择独有项目 选择芯片 选择编译器 配置工程名称、路…

Realm学习总结

参考博客: http://www.jianshu.com/p/096bec929f2a http://www.cnblogs.com/ilyy/p/5648051.html 参考的博客介绍很详细,我就不写了..写了一个简单的学习的demo. GitHub地址: https://github.com/PengSiSi/RealmDemo 代码如下: // // ViewController.m // RealmDemo // // C…

with(nolock)的用法

with(nolock)的介绍 大家在写查询时,为了性能,往往会在表后面加一个nolock,或者是with(nolock),其目的就是查询是不锁定表,从而达到提高查询速度的目的。 当同一时间有多个用户访问同一资源,并发用户中如果有用户对资源做了修改,此时就会对其它用户产生某些不利的影…

干支表

原文地址:http://114.xixik.com/tiangandizhi/ 天干 12345678910甲乙丙丁戊己庚辛壬癸地支 123456789101112子丑寅卯辰巳午未申酉戌亥六十年甲子(干支表) 12345678910甲子乙丑丙寅丁卯戊辰己巳庚午辛未壬申癸酉11121314151617181920甲戌乙亥丙…

【PIC18单片机学习笔记】一、程序的烧录

目录编程器烧录软件烧录准备程序main.cpic18.h烧录效果Windows 10 20H2 PICkit 3 v3.10 MPLAB X IDE v5.45 PIC18F46J50 编程器 所用编程器为PICkit 3.5 按图示连接好编程器和开发板 烧录软件 所用烧录软件为PICkit 3 v3.10 初次使用需要给编程器更新固件&#xff0c…

ASIHttpRequest:创建队列、下载请求、断点续传、解压缩

ps:本文转载自网络:http://ryan.easymorse.com/?p12 感谢作者 工程完整代码下载地址:RequestTestDownload1 可完成: 下载指定链接的zip压缩文件存放在Documents目录下支持断点续传显示下载进度解压到指定目录—————————…

UIControl-IOS开发

UIKit提供了一组控件:UISwitch开关、UIButtonbutton、UISegmentedControl分段控件、UISlider滑块、UITextField文本字段控件、 UIPageControl分页控件。 控件是对UIView派生类的有用增强及补充,并能够直接附着于导航栏、表格单元,甚至更大的对…

熊仔科技Steamduino PIC18F46J50主控板 部分原理图

目录连接情况原理图实物图Proteus 8 Frofessional v8.9 SP2 从学长那嫖的,本来貌似是要用来做写字机器人的,后面学长换成Arduino UNO了。 网上找不到资料,用万用表简单测了测没有丝印部分的连接情况 连接情况 RD2/PMD2/RP19 USR_LED…

在linux上实现DllMain + 共享库创建方法

DllMain可以在dll加载到进程、线程时调用,可以做些初始化、清理的工作 但在linux上没有专门的函数,可以使用gcc扩张属性__attribute__((constructor)) and __attribute__((destructor))来实现 类似于全局类变量,其构造函数及析构函数会在加载…

阿里巴巴2014研发project师实习生面试经历

java研发project师的初面是在上周三进行的,终于结果到了晚上才出,而没有通过的则是一结束网上就更新了状态。之后阿里通知这周三,也就是今天进行二面。 凑巧的是今早被舍友吵醒,中午那个困啊,但没时间睡了,…

【数据库】SQL语句

SQL 分为两个部分:数据操作语言(DML)和 数据定义语言(DDL)。增删改查(CRUD)构成了 SQL 的 DML 部分。 SELECT - 从数据库表中获取数据 SELECT 列名 FROM 表名SELECT * FROM 表名 SELECT COUNT(*…