资源描述
单击此处编辑母版标题样式,编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,数字图像处理人民币面额自动识别,自动缴费机、存取款一体机和自动售货机出现在了我们的生活中。这些先进的设备中最重要的一门技术就是:纸币识别技术。当我们将钞票投入缴费机或者存款机时,机器必定会首先识别用户投入的是面额为多少的纸币,之后再进展真伪区分、数据写入等功能。目前已经有很多的识别技术诸如图像匹配法识别,神经网络识别、尺寸识别、纸币内部荧光物质识别等等。本小组使用matlab软件,利用软件对图像处理的能力,在保证识别准确率的前提下对100元、50元和20元的人民币进展了识别。,纸币识别流程图,读入待检测图片,得出结果,进行图像边缘检测提取和边缘剪切,中央数字部分识别,提取中央数字部分,流程各局部详细说明,1、读入待检测图片,读入一张,100,元人民币图片。,2、图像边缘检测提取,边缘检测共有两种方法,一种是使用edge函数进展边缘检测;另一种是二值化+图像填充+提取边缘的方法。,使用edge函数进展边缘检测,选择Sobel算子。,如图,sobel算子边缘检测后的图像。,但是由于内部白色纹路较多,为了不影响边缘截取,应选择第二种方法:二值化+图像填充+提取边缘。,首先对图像进展二值化处理,然后使用imfill函数,调用“hole格式,对图像中的空洞进展填充。然后调用bwperim函数,对二值图像进展边缘检测。右图是检测的过程和结果。,3、边缘剪切,得到了二值化的边缘图像后,需要对边缘进展剪切,以切掉背景图案,只留下钞票图案,便于按比例分割图片。,我们采用mode函数,对边缘位置确定。首先,将二值图读入矩阵,生成m行n列的矩阵。然后一行一行进展检测,遇到白色的区域值为1时,就将白色区域所处的列位置记入数组。当检测完毕后,使用mode函数对数组进展检测,数组中数字出现的最多的即是边缘的位置。,提取中央数字局部,FFv2=jianqie(0.275*m:0.50*m,0.254*n:0.5*n),4、中央局部识别,1.区分百元和50、20元;2.区分50元和20元,如下图5和2的细节图。取5和2的靠左的一小局部进展比较红框圈的,数字5后两根蓝线之间的距离小于上面两根蓝线的距离,而2恰恰相反。于是可以得出结果。,程序运行结果,遇到的问题:,关于背景复杂度的问题,1过于复杂的背景无法正常识别,因为背景如果过于复杂,二值化后会导致很多复杂的背景变成连续的线条。当这些线条比较长的时候,边缘检测程序就会将这段线条识别为边缘,因为众数计算的时候这个位置同样满足。所以系统会认为此处就是边缘,但事实上只是背景中的一些二值化的线条。故而导致剪切边缘无法正确实现,进而影响到后面的中央分割和识别。,2浅色背景无法正常识别,本程序的边缘检测方法是图像二值化后利用背景和纸币之间的黑白差异来寻找纸币的边缘。当人民币的背景为浅色时,二值化的时候会将浅色自动二值化为白色1,而纸币内部只有少局部会二值化为黑色,但边缘周围仍为白色,这样一来根本无法区分纸币和背景,所以用imfill填充后无法去除地看到二值图的边缘。,谢谢,谢谢大家!,
展开阅读全文