1、 题目:BMP 图像的数字识别学号: 姓名: BMP图像的数字识别一、实验目的(1)了解模版匹配算法;(2)实现 bmp格式图像印刷体数字的识别。二、实验环境(1)软件:WindowsXp、VisualDSP+5.0(2)硬件:仿真器、EBF-561 实验平台三、算法描述本实验采用模版匹配中最简单的像素点重合的方法,将待测图像中的数字与模板库中德各个数字进行对比,认为待测数字就是模板库中与其重合像素点最多的数字。当bmp图像读入实验板存储空间之后,imgbuf 指针指向其像素点数据的首地址。(1)模板库的建立将包含 09十个数字的十张 bmp图像读入,将其像素信息分别存入十个 50*50的二维
2、数组中。实验中规定灰度值低于 50的为有效像素点,其对应的二维数组中的数值定义为 1,灰度值大于 50的认为是无效点,其对应的二维数组中的数值定义为 0.(2)待检测图像中的数字分离如输入图像包含 n*m个数字,则需要将 n*m个数字分离开之后,分别于模板库匹配并分别识别,将识别结果存入 resultm*n的数组中。(3)模版的匹配与识别依次识别每一位数字。将每一位数字的像素点信息存入 50*50的名为 t二维数组中,有效像素点定义为 1,无效像素点定义为 0.将得到的分离后的数字的二维数组 t与各个模版进行匹配。由于模版和待测数字中德有效像素点在数组中均表示为 1,可通过对应点相加之后对 2
3、 取余数再相加得到结果 sum,比较待检测图像与十个模版得到的 sum值,sum 最小的表示重合点最多,即认为待检测数字为该数字。四、实验步骤(1)上机完善 BMP图像的数字识别程序;(2)搭建实验硬件环境;(3)打开 VisualDSP+集成开发环境,建立 Session状态;(4)打开并运行工程;(5)调试程序;(6)在实验板上检查识别效果。五、实验结果将程序下载到板子上,可以看到讲图片中的数字进行了正确了识别,结果稳定可靠。六、主要程序及解释char * ImageNumReg( int ContW,int ContH)for( i=1; issk+1)result(i-1)*ContW+j-1 = k+1;else ssk+1 = ssk;return result;七、实验总结这次实验用到的算法在编程实现上并没有什么难度,主要是对算法和数字识别过程的理解。刚开始编程的时候走了很多弯路,主要是因为对算法实现的过程不是特别的明白,后来经过自己的仔细推敲,在做了深入理解之后,很轻松的就完成了任务。