基于 matlab 的三种面值人民币的自动识别
摘 要
本文通过分析第五版人民币自身特征,分别利用主色调提取、长宽比提取、中值滤波特征图像提取、特征数字提取等四种方法,通过
matlab 软件来实现对第五套人民币 100 元、50 元、和 20 元这三个不同面值的纸币进行自动识别。大致思路如下:通过纸币图像特征区域内,不同面值人民币颜色分量比值数不同;不同面值纸币的长宽比不同;不同面值纸币左下角特征图案不同;纸币中间部分面额数字不同, 利用不同的数字特征来分别区分出不同面额的纸币。
关键词:第五套人民币 主色调 长宽比 特征图案 自动识别
前言:随着科技的发展,很多行业都出现了基于人民币纸币识别技术的智能化无人收费系统,节省大量人力资源。人民币纸币的识别技术不仅可以应用在自动售货售票上,也可以应用到银行的自动存取款机,手机营业厅的自动交费机等。目前已有的识别方法主要是利用统计方法进行识别,如尺寸比较法、模板匹配、人工神经网络等。以不同面值人民币自动识别方法的应用日益广泛为背景,本小组提出多种通过利用matlab 软件、图像处理技术,实现对第五版人民币 20 元、
50 元、100 元这三个不同面值纸币,进行简易、快速的自动识别方法, 并能够在保证识别准确率的情况下,实现对纸币的快速自动识别。本小组四名成员刘光冉、邵爱刚、杨秋怡、刘红丹同学,经过共同商讨, 确立了特征区域图像主色调不同、纸币长宽比不同、特征图像不同、不同币值特征数字这四个方向。并分别从四种不同方向入手,查阅大量相关资料,明确各种方法的实现步骤,共同努力实现程序编写及论文和答辩的准备。
本文主要介绍通过 matlab 软件对所采集的图像进行四种不同方法处理,利用不同面值人民币的特征点,分别实现对第五套人民币
20 元、50 元、100 元这三个不同面值纸币进行准确的识别的方法。纸币识别具体过程如下:
1、读取图像,将所需的图像放在一定的文件中储存以备所用。
2、滤波降噪,为了减少图像噪点,为了便于以后的图像的相关处理, 便于区分与识别。
3、纸币摆正,针对纸币可能出现的不同的情况需要对纸币进行校正处理,如若倾斜则进行校正处理,如若不倾斜直接进行下一步。
4、采用相应的方法剔除背景,只提取纸币部分,避免背景造成的相关的干扰,便于准确快速的识别纸币的不同面值。
5、具体的实施思路有四种方法,分别是主色调、图像轮廓长宽比、特征部位(左下角)、特征数字(中间部位),具体部位如下图(1)
(2)(3)(4)所示,然后针对不同的思路设计出相应的程序并分别进行处理比对,最后准确快速的识别出不同的纸币面值。
(一)、主色调识别
首先将纸币的图像从相应的背景下提取出来,然后找到一个色调集中的部分,如图(1)所示。分别提取该部分图像的 RGB 三色分量。以面值为 100 的为例,该部分面积比较大且容易提取与区分。图像的相应的该部分提取出来后,利用 R、G、B 分量灰度值累加后的R/G 比值确定某一个范围,并通过多次实验确定区间阈值,以此来区分 100、
50、20 的面值,具体程序代码以及相应的结果分析如下:
图(1)
% 颜色判别
% 只取头像部分
function [val_color,IM_pic_real_head] = yanse(IM_pic,left,right,up,down)
% 提取彩色纸币部分
IM_pic_real = IM_pic(up:down,left:right,:);
% 提取头像部分
[h,l,g] = size(IM_pic_real);
IM_pic_real_head =
IM_pic_real(round(0.07*h):round(0.87*h),round(0.6*l):round(0.8*l),:); IM_rgb = squeeze(sum(sum(IM_pic_real_head,1),2));
r_g = IM_rgb(1) / IM_rgb(2); if r_g >= 1.41
val_color = 100; elseif r_g <= 0.94
val_color = 50; else
val_color = 20;
end
% |
100 |
|
% |
3892554 |
|
% |
2519328 |
|
% |
2810818 |
|
% |
r/g = 1.5451[1.41, ] |
|
% |
50 |
|
% |
10232415 |
|
% |
11418984 |
|