基于FPGA的数字识别的实现
1基于数字特征算法实现数字识别
我们采用基于数字特征的算法进行数字的识别,通过图像采集模块采集到图像,进行灰度化,二值化,然后进行数字特征的提取和统计来完成对数字的识别,最终显示到数码管上,完成图像信息到数字信息的转化。
数字特征信息的提取基于打印体,如上图1,以图1数字5举例,红框是数字5的水平和竖直的上下左右边界。X1在竖直方向的2/5处的水平线,x2在竖直方向的2/3处的水平线,y在水平方的1/2处的水直线。我们以此特征来统计x1,x2,y与数字5的交叉点。
以交叉统计法来区分0-9数字的特征如下表1:
这样通过数字统计完全区分开数字0-9。然后利用FPGA系统搭建实时数字识别系统。
2 基于FPGA的数字识别的实现
如图2所示,我们图像采集使用 ov5640 cmos 500W像素摄像头,将采集到的彩色RGB图像首先存入SDRAM中,然后由TFT显示控制端读出图像数据,读出RGB图像数据后,我们首先进行RGB转Ycbcr算法操作,然后对灰度图像进行阈值分割,形成二值图像,对二值数字图像进行边界追踪的基础上进行数字识别,最终将边界显示在TFT5寸屏幕上,将识别的数字信息显示在数码管上。
数字识别x1 ,x2,y核心代码:
结果展示:
展望:基于机器视觉的识别是走向人工智能的必然之路,字符的识别就是这条路的敲门砖。本次实验的结果完成了无论数字大小,数字在屏幕中的位置均可正确识别。基于此,可以开发人脸位置识别,人脸模板匹配识别,车牌识别等现如今比较火的机器视觉,人工智能等。
|