基于 FPGA 的数字识别三
作者:OpenS_Lee
1 背景知识
在《基于 FPGA 数字识别一》我们在三种数字识别方法中选择了数字特征识别算法,
完成了屏幕固定位置的数字识别。例如图 1 所示,数字只有在标线的固定位置才能被识别,
移出标线就不能被识别。
图 1 基于固定标线的数字识别
在《基于 FPGA 的数字识别二》中我们在数字识别的前端增加了移动目标的追踪模
块,从而完成了屏幕范围内 0-9 的任意位置的识别。例如图 2,首先定位出数字在屏幕的上
下左右边界,最后以此边界为依据识别数字。从而改变的数字不能移动的问题。但是每次只
能识别一个数字。
图 2 不限位置的单个数字识别
为了完成屏幕内多个数字的识别,例如一排五个或者两排 10 个数字等的识别。我们
增加了《基于 FPGA 的水平垂直投影法》字符分割算法,完成了多个字符的边界查找和分
割。例如图 3 所示。这为多个数字识别或是车牌识别打下基础。
图 3 水平垂直投影分割字符
在《基于 FPGA 的数字识别三》中我们将完成多个数字的同时识别,且不限于多个数
字在屏幕上的位置大小。
2 基于 FPGA 的数字识别三
在《基于 FPGA 的数字识别三》中我们利用的了前边的数字识别一和二以及垂直投影
法。这样对之前的模块复用也是 FPGA 设计的核心思想。
图 4 多个数字识别系统框图
如图 4 所示,我们在垂直投影模块后边增加了数字识别模块。
图 5 例化三个数字识别模块
利用信号的多拍处理完成了三个数字转数码管的实现。
结果展示:
信号多拍处理。
图 6 放出标线的多个数字识别调试
图 7 放出标线的 5,6,7
图 8 追踪边界的 5,6,7 识别
至此数字识别完成,再次基础上我们还可以对简单图像的识别或增加语音系统完成对识
别数字的播报。一个简单的机器智能就此实现。