基于matlab的人民币的自动识别
摘要
本文通过分析第五版人民币的特征,利用纸币中央数字的特征提取和识别的方法,通过matlab软件实现对第五版人民币的100元、50元和20元的识别。
关键词:第五套人民币 边缘检测和提取 中央数字特征
前言:科技在不断进步,曾经的很多手工劳动如今都被先进的机械和电子设备代替。曾经人们交话费、存款、买东西都必须到营业厅或者商场去办理手续,通过客户和服务人员之间的业务交流实现服务的实施和体验。如今,自动缴费机、存取款一体机和自动售货机出现在了我们的生活中。这些先进的设备中最重要的一门技术就是:纸币识别技术。当我们将钞票投入缴费机或者存款机时,机器必定会首先识别用户投入的是面额为多少的纸币,之后再进行真伪辨别、数据写入等功能。目前已经有很多的识别技术诸如图像匹配法识别,神经网络识别、尺寸识别、纸币内部荧光物质识别等等。本小组提出使用matlab软件,利用软件对图像处理的超强能力,在保证识别准确率的前提下对100元、50元和20元的人民币进行快速有效的识别。
正文
- 背景介绍
- Matlab函数介绍
- Imread
函数imread用于读取图片文件中的数据。
调用格式:
A = imread(filename,fmt)
[X,map] = imread(filename,fmt)
[...] = imread(filename)
- Imshow
imshow是matlab中显示图像的函数。
调用格式:
imshow(BW):显示一张二值图像BW
imshow(RGB):显示一张真彩色图像RGB
imshow(X,map):用指定调色板来显示图像
- im2bw
matlab中DIP工具箱函数im2bw使用阈值(threshold)变换法把灰度图像(grayscale image)转换成二值图像。一般意义上是指只有纯黑(0)、纯白(255)两种颜色的图像。 当然, 也可以是其他任意两种颜色的组合。所谓二值图像, 一般意义上是指只有纯黑(0)、纯白(255)两种颜色的图像。 当然, 也可以是其他任意两种颜色的组合。
调用格式:
BW = im2bw(I, level)
BW = im2bw(X, map, level)
BW = im2bw(RGB, level)
其中level就是设置阈值的。level取值范围[0, 1]。
- Imfill
该函数用于填充图像区域和“空洞”。
调用格式:
BW2 = imfill(BW)
这种格式将一张二值图像显示在屏幕上, 允许用户使用鼠标在图像上点几个点, 这几个点围成的区域即要填充的区域。要以这种交互方式操作, BW必须是一个二维的图像。用户可以通过按Backspace键或者Delete键来取消之前选择的区域;通过shift+鼠标左键单击或者鼠标右键单击或双击可以确定选择区域。
[BW2,locations] = imfill(BW)
这种方式, 将返回用户的取样点索引值。注意这里索引值不是选取样点的坐标。
BW2 = imfill(BW,locations)
这种格式允许用户编程时指定选取样点的索引。locations是个多维数组时, 数组每一行指定一个区域。
BW2 = imfill(BW,'holes')
填充二值图像中的空洞区域。 如, 黑色的背景上有个白色的圆圈。 则这个圆圈内区域将被填充。
I2 = imfill(I)
这种调用格式将填充灰度图像中所有的空洞区域。
BW2 = imfill(BW,locations,conn)
- Bwperim
用于查找二值图像的边缘。
调用格式:
BW2 = bwperim(BW1)