基于FPGA的车牌识别--字符提取
1 概述
对于对于识别车牌的重要一步是对车牌字符的提取。本节将在《基于FPGA车牌位置的定位》的基础上完成车牌上每个字符的提取与定位,为车牌的识别扫清障碍。
2 FPGA实现车牌的字符提取与定位
图1 车牌位置定位的FPGA实现
如图1所示,在《基于FPGA车牌位置的定位》的基础上我们继续完成车牌的字符提取与定位。
第一步:去除固定孔。
图2 去除固定孔
在我们完后车牌定位的基础上通过经验值来去除车牌固定螺丝,或者采用长宽比例来缩放以达到去除固定孔的目的,实验结果图如图2所示。
图3 填充后图像
将车牌部分保留其他部分一律使用非字符颜色填充,结果如图3所示。
第二步:根据车牌字符颜色模型来提取字符
图4 二值化车牌号
首先根据对图3所示图像进行颜色空间转换。其次再通过ycbcr的颜色阈值分割字符与其他干扰色,将分割后的图像转换为二值图像,结果如图4所示。
第三步:完成车牌字符的边界定位。
这里可参考《基于FPGA水平垂直投影法(字符分割)的实现》。使用水平垂直投影完成对每个字符的分割。对于车牌二值化后的毛刺我们可以再进行二值图像的膨胀腐蚀来完成修复。
图5 实现每个字符的定位
最终想要完成基于FPGA的车牌识别的实现的同学,可根据《一种MXN维的手写字符识法》的方法来完成车牌的字符识别。如图5所示,最终完成了每个字符的提取与分割。
经过一路的风雨最终到达了目的地。从最初的单个固定位置的数字识别到单个移动数字的数字识别,再到多个移动位置的数字识别,再到排除使用特征线法来完成车牌识别,找到MXN维可行的字符识别方案。一路走来坎坎坷坷,不知道搜了多少资料,也不知道改了多少方案。
本方案只是基于FPGA的车牌识别的众多方案的一种,虽然不那么高大上,但也十分有趣,学到了不少FPGA知。
欢迎加入FPGA开源工作室 。
FPGA自习学院将不断更新和总结FPGA相关学习资料,书籍,实例工程和视频。
欢迎大家加入《FPGA自习学院》,一起学习一起成长。