论文部分内容阅读
人民币是我国的法定货币,在日常消费活动中扮演着相当重要的角色。尽管人民币特征丰富,主要特征也很容易为我们正常人所捕捉,但是对于失去视觉能力的盲人,他们所能感受到的只有触感。人民币在设计时,人性化地增加了盲人标记,可是这些标记只有在崭新的钞票才能被准确的感知,市场上流通的大多都是被反复磨损的旧币,这就给借助盲文标记判断面值带来了极大的障碍。当然,人民币的六种面值也都有各自的尺寸规格,但是不可避免的,尺寸由于工艺水平的限制,会出现偏差,只凭借尺寸去判断,很难保证准确度。本文就存在于盲人身上的这个棘手的问题,提出了一款盲人识币的智能机应用设计方案,并且实现了这款应用的一整套算法。此算法功能大致分为两个部分:面值识别和人民币序列号识别。面值识别,是算法的主要部分。纸币序列号,由纸币的冠号和数字编号组成。本文之所以研究纸币序列号的识别,是因为纸币序列号犹如居民身份证,具有唯一性。纸币序列号的自动识别对实现纸币的有效管理以及缩小纸币真伪鉴别范围具有非常重要的实际价值。本文的图像处理算法主要包括下面内容:钞票图像滤波去噪---辨识人民币需要定位人民币在图像中的边界位置。由于纸币的纹理信息太过丰富,所以需要对图像进行模糊化以去除影响边界判断的噪声(即那些纹理和杂线)。同时,模糊化处理也是为了后续获取纸币上面的国徽符号以判断钞票的面向和面值。钞票边缘检测---本文研究了现在常用的边缘检测算法,最终选用了Canny算法,由于图像已经模糊滤波处理,再使用Canny算法,此时图像中除了较为清晰的纸币边界,还存在影响边界判断的少许杂线。钞票边界定位---由于此设计中场景的特殊性(纸币在松弛状态成图),纸币的边界只是呈现出类直线的特征。纸币边界扭曲较为严重,所以就需要探索一种抗扭曲的直线检测算法。本文提出了一种基于K均值聚类的直线检测算法,方法高效且准确,基本满足设计的要求。面向判别---传统的识别方法是借助于钞票的纹理信息。但是在纸币并未处于“舒展”状态的情况下,此方法根本无法适用。本文捕捉纸币正面的国徽符号,提取了国徽的外轮廓,通过形状匹配来识别钞票的朝向。经验证,此方法效果较为可靠。面值识别---基于六种面值人民币的颜色差异,本文将六种颜色利用神经网络进行了分类。经测试,识别率较高。序列号定位和分割和识别---由于国徽已经被确定,序列号就处于与国徽相对的位置。所以定位比较容易。具体锁定字符位置,本文对字符所在区域进行了宽线检测二值化,有效地排除了非字符区域的影响,之后通过字符的横向和纵向投影获取单个字符。本文通过模板匹配的方法来识别字符,达到了较高的准确率。