2010年3月1日星期一

车牌识别中一种新的直接基于彩色图像的二值化简化方法[转]

转自 http://goo.gl/oSjO

车牌识别包括预处理、定位、字符分割和字符识别等几部分。在本文中,我们仅讨论预处理的二值化过程。二值化的好坏决定着车牌识别的精度。事实上,要提高车牌识别精度必须要有好的二值化方法。本文提出了一种新的直接基于彩色图像的二值化方法。

车牌识别,一直存在两种思路。一是将彩色图像灰度化,然后二值化等等;二是直接基于彩色图像。

由于直接基于彩色图像的方法大都未取得很好的效果,因此,造成灰度化、二值化成为目前车牌识别的主流。但是,采用灰度化的方法,有个根本的问题就是,灰度化是有损的。灰度化难在阈值选取。尽管没有理论证明,车牌识别的精度很难超过90%,这或许就与阈值的选取有关。

要跳出阈值选取的怪圈,我认为车牌识别就还是应该回到彩色模式上来。其实,彩色图像为什么要灰度化?其依据是彩色图像需要占用大量的处理时间。老师上课的时候是这样在讲,教科书上也是这样在写。

从广泛的意义上讲,彩色图像确实会占用大量的处理时间,但是,针对车牌识别而言,我们可以找到一种非常简单的方法。通过这种方法,彩色图像会被极大地简化,就是说可以简化到无需考虑处理时间的占用问题。

注意,我说的是简化。就是说,我们要通过简化的方法,达到通过灰度化实现二值化同样的目标,即将彩色图像直接简化成二值化图像,简化过程不使用灰度化方法,仅通过空间映射方式。这样做的好处是什么呢?它克服了灰度化的有损性,最大限度地保持了图像的原貌。传统的方法经灰度化后得到的二值化结果,已经完全丧失原有的色彩信息,而新的通过空间映射的方法,同样得到了二值化图像,但是,图像中每个像素的原色彩信息依然保留着。

直接基于彩色图像的二值化简化,其核心思想是通过:黄 =(红+绿)/ 2 ,依此将红、绿、蓝三原色构成的色彩空间映射到由黄、蓝两种颜色构成的色彩空间;映射后的色彩值有黑色、蓝色、灰色、黄色和白色五种。具体的简化过程如下:

1、建立公式:黄色 =(红色+绿色)/ 2 ,取值0..255。

2、建立公式:灰度 =(黄色+蓝色)/ 2 ,取值0..255。

3、将黄色和蓝色都大于187的视同白色。

4、将黄色和蓝色都小于153的视同黑色。

5、去除白色和黑色剩下的中间色中,如果黄色<0.9×蓝色(意味着颜色偏蓝),则需进一步进行蓝色细分;如果蓝色<0.9×黄色(意味着颜色偏黄),则需进一步进行黄色细分;否则则需进一步进行灰色细分。

6、蓝色细分:如果黄色<0.8×蓝色,说明颜色中蓝色成分明显多于黄色成分,视同蓝色;否则,如果灰度<187,视同蓝色,反之视同灰色。

7、黄色细分:如果蓝色<0.8×黄色,说明颜色中黄色成分明显多于蓝色成分,视同黄色;否则,如果灰度>153,视同黄色,反之视同灰色。

8、灰色细分:如果灰度<153,视同黑色;如果灰度>187,视同白色,否则视同灰色。

经过空间映射,现在的空间由黑色、蓝色、灰色、黄色和白色五种颜色构成。显然,这个空间仍然可以被看成是彩色空间,它包括中国车牌所需要的各种底色和字符色(红字需要再特殊处理一下),所有色彩信息都没有丢失。注意,这里有灰色,它正好解决了对“脏”车牌的识别。

进一步我们可以将黑色和蓝色统一归并为蓝色,黄色和白色统一归并为黄色。灰色可根据底色视同蓝色或黄色。这样我们就完成了直接基于彩色图像的二值化简化。

上述直接基于彩色图像的二值化简化方法,最关键的是把空间简化了,把RGB三维空间简化成YB二维,然后,继续简化成直线,再继续简化成五个值,最后简化成二值,节省了计算时间。它与其他的彩色模式的差异在哪里呢?其他的彩色模式大都没有降低维数,减少计算量,即尽管采用了彩色模式,但是最后还是要回到灰度化上面去。这是不对的。

实际应用时,参数会略有调整,测试请到 http://www.yulaohui.com/color5_2/ 。

 

没有评论:

发表评论

欢迎访问、交流!对本博客有何建议,请
来信告知!
本博内容来源于网络,如有不当或侵犯权益,请来信告知,将及时撤除!
如引用博客内容、论文,请注明原作者!

Google一下本博客

  • 《Getting Things Done》读书笔记 - 本文来自 inertial 原创投稿。 我第一次听说《Getting Things Done》这本书的时候误以为它和世面上的那些成功学书籍没什么区别,后来在不少书中看到了这个名字,也看见了很多人的推荐,由此产生了很大的兴趣。上个月正好有不少空闲,就抽时间把这本书读完了。 本来打算读英文原版,但是原版的生...
    5 年前
  • [原]Linux下编译使用boost库 - Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调,对标准C++的强调,与...
    6 年前
  • [原]猎头、培训与咨询的价值(2)【补1】——北漂18年(93) - 【上期用手机写的,同时用语音输入转化成文字,错字较多,经好友霍师傅提醒本期重写,并增加一部分新内容】 简单谈下我对猎头、培训与咨询的看法。三样都干过,算是有些浅见。 猎头 简单的说就是人才中介。虽然在公司看来是可以直接解决现有企业问题的一个直接方法,但很多时候都不太管用。 猎头费一般是人才的一个月月...
    6 年前
  • OpenCV統計應用-Mahalanobis距離 - Mahalanobis距離是一個可以準確找出資料分布上面極端值(Outliers)的統計方法,使用線性迴歸的概念,也就是說他使用的是共變數矩陣以及該資料分布的平均數來找尋極端值的產生,而可以讓一群資料系統具有穩健性(Robust),去除不必要的雜訊訊息,這邊拿前面共變數矩陣的資料為例,並且新增了兩個點座標向量來做...
    15 年前
  • 努力推进模式识别实际产品的开发与应用 - Salu 无论是手写体识别、文档处理、人脸识别、基于内容的图片搜索、嵌入人工智能的搜索技术、虚拟网络社区、还是其它相关新科技下的信息整合领域,现在都在努力实用化。 前两年、即使现在还有很多人在抱怨说人脸的方法都不能用,但是就今年出现的和正在做的有关人脸识别实际应用的各种形式的产品可以说如雨后春笋。这是一个趋...
    16 年前