车牌识别LPR(五)-- 一种车牌定位法
该方法是某个文章中看到的,有点忘了是那一篇了,看的太多也太久了。
Step1、把采集到的RGB图像转换为HSI图像。
HSI模型能反映人对色彩的感知和鉴别能力,非常适合基于色彩的图像的相似比较,故采用HSI模型。假设HSI颜色模型各分量为H、S、I ,RGB 彩色模型的各个分量为 R, G ,B ,则 RGB 转换 HSI 的公式为:

其中H 表示色调,如红色、绿色、蓝色等,色调的取值范围为 [0 , 360],其对应颜色轮的角度。S表示饱和度,其意义是颜色的鲜艳度,可以用百分比来表示,从0%到完全饱和100%。 I表示亮度,是指颜色的明亮程度,通常用百分比表示,从黑0%到白100%。
通过式把 RGB 彩色图像转换为 HSI 彩色模型的图像,HSI 彩色模型的图像,左侧为 RGB 彩色图像。从 HSI 颜色的图像中可以看出,高亮部分为车牌的蓝色区域。
Step2、提取 HSI 图像中的 H、S 分量。
(1)利用 H 分量进行图像颜色分割。由于蓝色的 H 分量值为 240 º,并且图像可能受到噪声污染,所以蓝色的 H 分量值有一定的波动。经过实验可得到蓝色分量 H 的最小值blue_MinH 为 220º,最大值 blue_MaxH 为 245º。假设二值图像为 Bw,Bw 和 HSI 图像具有相同的大小,Bw 中的所有元素都为 0。利用下式把满足蓝色区域条件的设为前景白色,即 Bw = 1;不满足条件的设为背景黑色,即Bw = 0。

(2)利用S分量对图像处理。因为受到天气、光照等条件的影响,非牌照区域也会和牌照区域的色调特征相同,因此可以利用 S 分量去掉饱和度小且满足蓝色色调范围的区域。设饱和度的阈值为 threshS,利用去掉满足蓝色色调条件但非车牌的区域。

Step3、利用车牌的几何特征去除候选区域中的非牌照部分。
由于天气、光线等因素导致采集到的图像受到噪声的干扰,所以即使经过 Step1、Step2 的处理,仍然可能存在多个车牌的候选区域。利用车牌的几何特征可以过滤掉部分不符合条件的候选区域。常用的车牌几何特征有:候选区域的面积、外接矩形的宽度和高度、外接矩形的长宽比,本文采用候选区域的高度。具体做法如下:通过对 Step2 得到的二值图像 Bw 水平投影,得到水平投影图,其中水平投影值是同一行中的像素点的个数。基于车牌区域存在一定的高度的事实,设定车牌高度的最小值为 Height_Min,最大值为 Height_Max,候选区域的高度为 Heigh。当满足 Height_Min ≤ Height ≤ Height_Max 时,从图像中提取出高度为 Height 的候选区域。
Step4、为处理车辆和车牌颜色特征相同的情况,可以通过特征颜色边缘检测去除和车牌颜色特征相同的伪车牌区域。
设图像 K(i,j)= (H(i,j),S(i,j), I(i,j)),其中 H(i,j),S(i,j), I(i,j)分别表示 K(i,j)的 H、S、I 分量。二维数组 K2(i,j)是边缘检测后的图像。采用以 K(i,j)为中心的 3×3窗口检测特定的颜色边缘。

(1)在 HSI 彩色模型中,满足式前两式时判为蓝色;满足式(2.4)则为白色。

(2)获取蓝白边缘图像。判断蓝白边缘的条件为:(a)K(i-1,j-1)、K(i,j-1)、K(i+1,j-1)都为蓝色像素点,K(i-1,j+1)、K(i,j+1)、K(i+1,j+1)均为白色像素点;(b)K(i-1,j-1)、K(i,j-1)、K(i+1,j-1)都为白色像素点,K(i-1,j+1)、K(i,j+1)、K(i+1,j+1)均为蓝色像素点。若满足(a)、(b)中的任意一个条件,则 K(i-1,j)、K(i,j)、K(i+1,j)为蓝白边缘点,令 K2(i-1,j)= K2(i,j) = K2(i+1,j) = 1,并将该窗口中的 K2 其它像素设为 0;若以上条件均不满足,则将该窗口位置的 K2 中的所有像素值置为 0。同时将窗口遍历整幅图像,得到蓝白边缘图。
(3)利用车牌的几何特征去掉不符合条件的候选区域。面积大小的计算定义为:蓝白边缘图像中白色的像素点的总数,即为 white_CountTotal。设车牌区域面积的最小值为 min_Area,最大值为 max_Area。当 min_Area ≤ white_CountTotal 并且 white_CountTotal ≤ max_Area,则认为是车牌区域。
Step5、确定车牌区域的宽度。
经过前面的步骤已得到车牌区域,确切的说应该是车牌的高度,所以还需得到车牌的宽度。本文采用垂直投影的方法确定车牌的宽度。对车牌区域进行垂直投影。垂直投影值定义为图像中同一列为白色像素点的个数,记为vertical_Count,令垂直投影值的阈值为 verticalValue_Thresh。
具体过程如下:
- 首先从图像的最左边扫描图像的垂直投影值,当 vertical_Count ≥verticalValue_Thresh 时,该位置即为车牌区域的起点 wide_Start ;
- 然后继续扫描直到vertical_Count ≤ verticalValue_Thresh 时,此位置则为车牌区域的终点 wide_End;
- 最后得到车牌区域的宽度 wide = wide_End – wide_Start。
车牌识别LPR(五)-- 一种车牌定位法的更多相关文章
- 车牌识别LPR(四)-- 车牌定位
第四篇:车牌定位 车牌定位就是采用一系列图像处理或者数学的方法从一幅图像中将车牌准确地定位出来.车牌定位提取出的车牌是整个车牌识别系统的数据来源,它的效果的好坏直接影响到整个系统的表现,只有准确地定位 ...
- 车牌识别LPR(二)-- 车牌特征及难点
第二篇:车牌的特征及难点 2.1 对我国车牌的认识 我国目前使用的汽车牌号标准是 2007 年开始实施的<中华人民共和国机动车号牌>GA36-2007(2010 年修订).根据 GA36 ...
- 车牌识别LPR系统系列文章汇总
这里的LPR的的几篇文章是之前项目的一些相关资料的整理,涉及实验室内部的资料就没有放上来,希望能对想了解这方面的同学,有所帮助,那怕了解个大概也好.知道整体的思路就好.当初就是一个人瞎摸索,走了很多的 ...
- 车牌识别LPR(八)-- 字符识别
第八篇:字符识别 车牌定位.车牌倾斜校正.车牌字符分割都是为车牌字符识别做的前提工作,这些前提工作直接关系到车牌识别系统的性能.车牌字符识别是车牌识别系统的核心部分,车牌字符识别的准确率是衡量车牌识 ...
- 车牌识别LPR(一)-- 研究背景
在年尾用了几天的时间将2014年的所有工作都总结了一遍,将之前的文档综合了下. 以下是LPR系统,车牌识别的一些总结资料. 第一篇:LPR研究背景 汽车的出现改变了以往出行徒步和以马代步的时代,极大地 ...
- 车牌识别LPR(三)-- LPR系统整体结构
第三篇:系统的整体架构 LPR系统大体上可由图像采集系统,图像处理系统,数据库管理系统三个子系统组成.它综合了通讯.信息.控制.传感.计算机等各种先进技术,构成一个智能电子系统. 图像采集系统:图像采 ...
- 车牌识别LPR(六)-- 字符分割
第六篇:字符分割 在知道了车牌字符的规律之后,可以根据车牌的特点对字符进行分割.一般最容易想到的方法就是根据车牌投影.像素统计特征对车牌图像进行字符分割的方法.是一种最常用的.最基本的.最简单的车牌字 ...
- 车牌识别LPR(七)-- 字符特征
第七篇:字符特征 选择的字符特征应该满足以下条件: (1)选取的字符特征具有较强的鲁棒性,不受字符变形.弯曲等影响. (2)两个字符的字符特征不能完全相同,但部分相同是允许的,即选择的字符特征是唯一的 ...
- 你知道现在有一种新的OCR技术叫“移动端车牌识别”吗?
核心内容:车牌识别.OCR识别技术.移动端车牌识别.手机端车牌识别.安卓车牌识别.Android车牌识别.iOS车牌识别 一.移动端车牌识别OCR技术研发原理 移动端车牌识别是基于OCR识别的一种应用 ...
随机推荐
- SVN四部曲之SVN简单使用教程入门
1. 签出源代码到本机 在本机创建文件夹StartKit,右键点击Checkout,弹出如下图的窗体: 2. 2 在上图中URL of Repository:下的文本框中输 ...
- phpcms v9 企业黄页系统发布没有表单出现的解决方案
第一种解决方案: 第一步:把yp_UTF8压缩文件解压得到:api.caches.phpcms.statics四个文件夹. 第二步:把这四个文件夹分别覆盖已安装好的phpcms系统根目录下的文件夹.这 ...
- 自定义的你的ubuntu鼠标右键
首先看下效果图: 好,接下来讲下如何实现,“下一个桌面”和”在终端打开“,首先是安装必要软件 sudo apt-get -y install nautilus-open-terminal nautil ...
- 微软职位内部推荐-Senior Dev Lead
微软近期Open的职位: Bing Index Serve team is hiring! We are one of the core teams in Bing serving more than ...
- Serverless 架构:用服务代替服务器
Serverless 架构:用服务代替服务器 转载本文需注明出处:EAII企业架构创新研究院(微信号:eaworld),违者必究.如需 加入微信群参与微课堂.架构设计与讨论直播请直接回复此公众号:&q ...
- 【软件工程-Teamwork 3】团队角色分配和团队贡献分分配规则
Part 1 团队角色分配 1.人员分配概要: Project Manager:1名 / Developer:4名 / Test: 1名 2.具体人员分配及职责: Project Manager(PM ...
- mysql 错误- 磁盘空间不足,
mysql 磁盘空间不足错误 磁盘空间满了, 写不进去了. :: mysqld_safe Starting mysqld daemon with databases from /alidata/ser ...
- C++同步串口通信
问题描述: C++串口通信,设置同步串口通信 问题解决: (1)打开串口 注: 使用串口需要添加<Windows.h>头文件,打开串口主要是使用CreateFile ...
- 不安装Oracle客户端远程连接Orcale数据库
本方法是通过使用ORACLE官方提供的精简版客户端,即绿色免安装的客户端. 下载地址(此处提供的是官方各版本下载地址): Windows 32位系统中使用的客户端下载地址其他系统环境中使用的客户端下载 ...
- GCC 静态库和动态库
转自GCC 静态库和动态库 //hello.c #include void print_hello() { printf("HelloWorld "); } //main.c #i ...