基于matlab的纸币面额面向识别方法设计

这篇具有很好参考价值的文章主要介绍了基于matlab的纸币面额面向识别方法设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于matlab的纸币面额面向识别方法设计

        摘 要:本设计的主要研究内容是在获取人民币的基础上通过FPGA、CIS传感器进行纸币图像采集,并对采集到的纸币图像进行预处理,包括去噪、边缘检测和倾斜校正。边缘检测过程中,利用离散点进行直线拟合,不仅可以得到纸币的边缘,还可以计算出纸币的中心点和倾斜角度,然后将纸币图像旋转校正,使图像位置归一化。预处理完成之后,利用尺寸识别算法完成对纸币尺寸的测量,从而确定纸币的面额。在面额得到识别的基础上,根据提取得到的纸币特征与模板匹配来对纸币面向进行识别。

        关键词:图像采集;FPGA;模板匹配

        1 引言

        1.1 背景与国内外研究现状

        当前,在美、英、德等西方发达国家,纸币识别技术早已广泛的应用在生活当中。我国这些年来也加强教育,不断增加科研投资,使我国的科研水平节节升高,但与国外相比仍有一定的差距。近年来,由于部分著名院校的合作研发,我国在自动化方面的水准有了显著的提升。不过纸币识别在我国几乎从零开始研究,应着手于图像识别相关的理论,勇于实践,造出属于我国独立自主研发的自动识别设备。

        1.2 研究的主要内容

        1)对图像采集系统的研究。

        2)对采集到的图像预处理。

        3)纸币面额面向的识别及程序的研究。

        2 纸币图像采集系统

        2.1 图像采集系统描述

        获取图像,是图像处理等一切操作的前提基础,当前各种图像都是用釆集设备获得。本文设计是应用FPGA(Field-Programmable Gate Array)、CIS(Contact Image Sensor)图像传感器为核心器件的图像的采集系统。

        2.2 系统的选型

        CIS是最新型线性图像传感器,最大特点小巧轻便,当它工作时,LED光源发出光,照到待采集的物体表面,反射光线之后,经聚焦成像于光电传感器的阵列上,被转成电荷储存起来。达到积蓄的时间后,以模拟信号的形式将像素电信号依次输出,从而得到了纸币模拟图像的信号。本设计选型为MC06H-Z04。

        本课题研究必须进行多图像数据相关传输处理,因此FPGA型号的选择必须拥有快速I/O转移的能力,选择的型号是XC2S100E。外加二片SDRAM芯片来辅助FPGA进行信号相关的采集处理。该芯片容量为512Mb。用的是双电源供电,应用芯片是TPS70451。FPGA芯片I/O口电平是3.3V,有源晶振在选型时要用3.3V来供电。50MHz的全局时钟发生电路。

        本文采用的是CIS为MC06H-Z04,有效频率是15MHz,数据信息是三通道输出。A/D转换器实现选型时,为了匹配传感器,采样频率必须要大于45MHz,并且为三通道的输入模式,因此选用的A/D转换器为TLC5540。传感器型号为MC06H-Z04,是一种电压输出型传感器,所以运算放大器则应当是电压反馈型的,因此放大器选择型号为AD8054。选择USB接口作为传输数据的计算机接口。

        3 纸币图像预处理

        3.1 图像的去噪

        纸币图像中产生噪声,方式多样,类型繁多。由于噪声影响,图像信号的幅值和相位的影响十分繁琐。若果要剔除图像噪声,应针对种类不同,具体分析,实施不同措施,让效果事半功倍。否则问题复杂化会加剧,难以实现目标。

        3.2 纸币图像的边缘检测

        Sobel边缘算子所利用的算法是对图像原始像素点加权平均后进行微分处理,所以我们可以利用差分取代一阶偏导,算子的数学表达如式(1)所示。

        Sobel算子主要用两个三维矩阵,它们分别进行水平方向和垂直方向的检测。

        算法矩阵如下:

        3.3 纸币图像的倾斜校正

        处理纸币图像后识别过程中,因为输入设备精度欠佳,和操作过程中肯定存在着相应误差,采集到的图像会出现一定程度倾斜,这将会影响之后的纸币认别。因此,把采集到的图像进行边缘检测和倾斜校正就很有必要。

        进行倾斜校正普遍应用的方法是Hough变换。

        设原图像 空间中直线的方程为y=kx+b,将其转换成极坐标 空间中对应的极坐标方程如式(2)所示。

        4 纸币面额识别

        4.1 特征块识别法

        因为不同面额的纸币有明显差异的区域,这些区域为特征块识别法提供了基础, 这些区域涵盖纸币里的盲文和数字等,泛用的就是通过纸币表面能表达纸币面额的数字来识别。特征块识别法就是通过识别纸币自身带有的不同特征进行面额识别的。特征块识别法的原理是在两图像的相同位置提取两个大小不一的区域,其中模板图像略小些,这样有利于更好的识别。之后将这两个图像进行内容比对,检测两个模板是否匹配一致,即可以识别出纸币面额。

        4.2 尺寸识别法

        本文纸币面额识别的重点应用对象是第五版人民币。所以进行对比人民币的长宽来识别人民币的面额大小。通过测量获得第五版人民币的各面值尺寸,如表1所示。

        纸币面额的尺寸识别法是根据不同纸币的长宽不等、差异明显的特点进行面额识别,不同面额的纸币且面额差距越大纸币大小相差也就越显著。因此只要我们通过手段确定出扫描纸币图像的长宽,即可识别出纸币的面额。

        5 纸币面向识别

        5.1 基于模板匹配的面向识别算法

        本文利用模板匹配进行面向的识别。图像的匹配算法分为几何特征匹配和灰度特征匹配两类。图像的几何特征包括投影特征、方向码、图像边缘轮廓及纹理等,这些特征对于图像的放缩、旋转及灰度变化能保持很好的稳定性。

        待识别图像输入、预处理、灰度特征提取、匹配计算、结果输出是模板匹配的一般流程。这几个步骤间又有很大关系,预处理的结果将会影响特征提取的方法和质量,根据不同的提取特征,我们会采用不同的匹配算法,最后得到的输出结果可能不尽相同。

        5.2 100元面向识别的程序代码

        clear%清内存

        %***将彩色图像转换为灰度图像,读取模板图像****

        I=imread(‘C:\Users\DELL\Desktop\人民币识别\面向识别\模板与测试图像和说明\001.jpg’);%该路径为模板图片文件夹位置,下同

        x01=rgb2gray(I); x1=double(x01);

        I=imread(‘C:\Users\DELL\Desktop\人民币识别\面向识别\模板与测试图像和说明\002.jpg’);

        x02=rgb2gray(I);x2=double(x02);

        I=imread(‘C:\Users\DELL\Desktop\人民币识别\面向识别\模板与测试图像和说明\003.jpg’);

        x03=rgb2gray(I);x3=double(x03);

        I=imread(‘C:\Users\DELL\Desktop\人民币识别\面向识别\模板与测试图像和说明\004.jpg’);

        x04=rgb2gray(I);x4=double(x04);

        %***将彩色图像转换为灰度图像,读取测试图像

        %手动更改t01-t04对应测试图像的正反面与正倒像

        I=imread(‘C:\Users\DELL\Desktop\人民币识别\面向识别\模板与测试图像和说明\t04.jpg’);

        y01=rgb2gray(I);y1=double(y01);figure;imshow(I)

        %调用函数ppmm求取误差最小值进行比较,其中裁剪参数c001需要根据实际情况手动输入

        %调用的函数ppmm需要与主程序在一个文件夹内

        z1=ppmin(x1,y1)

        z2=ppmin(x2,y1)

        z3=ppmin(x3,y1)

        z4=ppmin(x4,y1)

        z5=min([z1,z2,z3,z4])

        if z5==z1

        disp(‘100元正面正像’)

        elseif z5==z2

        disp(‘100元正面倒像’)

        elseif z5==z3

        disp(‘100元反面正像’)

        else

        disp(‘100元反面倒像’)

        End

        6 软件仿真

        6.1 面额仿真

        目前MATLAB软件是功能最为强大的,应用的方向非常广泛。本设计主要是应用MATLAB软件强大的图像处理功能,对CIS图像传感器采集到的纸币图像进行去噪、增强、边缘检测及倾斜校正,从而可以达到面额识别的相关目的。仿真图如4所示。

        6.2 面向仿真

        下面对面向识别进行仿真,模板图像4个面向,每个图像总像素数1590。随机选取纸面有污迹的100元钞票做为测试样本,在不同光照条件下采集图像的4个面向。分别将测试的4幅图像输入程序进行测试,每一幅图像分别与模板的4个样本进行匹配计算找出误差最小的对应模板即为匹配成功,直接输出结果,仿真情况如图5所示。

        从仿真结果来看本文算法面额面向识别是有效的,可以正确的实现预定的功能,至此设计完成。

        7 结论

        本设计的主要任务是设计一款纸币识别系统,弥补目前市场上应用产品的不足。整个系统工作的主要流程是应用采集系统对纸币进行采集,通过高速图像传感器CIS将图像信息传达给FPGA处理,之后通过USB上传到PC机,应用MATLAB中带有的各种算法,做进一步处理。

        本设计的主要创新之处在于应用了独特的面额面向识别法对纸币进行识别,目前为止尺寸识别法从未应用于实践。虽然改善了设计环节,降低了生产成本,但这不是最完美的设计。在精度和准确性上还需更加的完善,细节方面还需更多地考虑。在今后的学习中一定要更加努力,希望能在纸币鉴伪以及外币识别方面多作研究。

        文章来源地址https://www.toymoban.com/news/detail-812548.html

到了这里,关于基于matlab的纸币面额面向识别方法设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 毕业设计-基于 MATLAB 的车牌识别系统设计

    目录 前言 课题背景和意义 实现技术思路 一、车牌识别系统总体方案设计 二、车牌识别系统硬件设计 三、车牌识别系统软件设计 四、 实验结果与分析 部分源代码 实现效果图样例 最后     📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升

    2023年04月18日
    浏览(68)
  • 基于Matlab的人脸识别设计(PCA)

    图像预处理是人脸识别的重要组成部分。由于图像采集环境不同,输入测试图像常常存在一些问题,如不同程度的噪声和图像对比度不足。再者,获取距离和焦距大小之类的外部因素也使得面部信息在整个图像中具有不确定的大小和位置。为了确保收集的面部图像的质量,必

    2024年02月04日
    浏览(71)
  • 基于FPGA的脉冲压缩设计(Matlab+vivado)

    前言: 本科学了四年机械,后面转头去了电子信息读研,以FPGA的脉压入手,在从零开始的路上CSDN对我的帮助很大,现整理所学,与诸君共勉。本文不少代码均是参考CSDN上的前辈们一步一步理解做出来的,如有冒犯之处,烦请谅解。 目录 一:脉冲压缩原理介绍 1.我们简单了

    2024年01月19日
    浏览(31)
  • 基于粒子群优化算法的面向综合能源园区的三方市场主体非合作交易方法(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 ​ 随着

    2023年04月09日
    浏览(48)
  • 毕业设计-基于BP神经网络的水果识别系统-matlab

    目录 前言 课题背景和意义 实现技术思路 一、图像识别基本理论 二、水果识别器的设计 三、仿真结果及分析  部分源代码 实现效果图样例 最后     📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力

    2024年02月03日
    浏览(33)
  • 【老生谈算法】基于matlab的运动目标识别与跟踪系统设计与算法原理及程序源码——目标识别算法

    大家好,今天给大家介绍基于matlab的运动目标的监测与跟踪系统设计与原理。 视频图像分析主要是对运动图像序列进行分析处理,它通常涉及到运动检测、目标分类、目标跟踪及行为理解与描述几个过程。其中,运动目标检测与跟踪处于整个视觉监视系统的最底层,是视频图

    2024年02月13日
    浏览(35)
  • 【MATLAB图像处理实用案例详解(12)】——基于纹理特征的指纹识别方法

    指纹识别系统主要涉及4个步骤:指纹图像采集、图像预处理、特征提取、特征匹配。一开始,通过指纹读取设备取得图像,并对原始图像进行初步处理,使之更清晰。接下来,指纹识别软件提取指纹的数字表示——特征点数据。这些数据通常称为模板,保存为数据库中的一条

    2024年02月02日
    浏览(38)
  • 基于MATLAB的车牌识别系统+GUI界面的毕业设计(完整源码+课题报告+说明文档+数据)

    近年来,随着交通现代化的发展要求,汽车牌照自动识别技术已经越来越受到人们的重视.车牌自动识别技术中车牌定位、字符切割、字符识别及后处理是其关键技术.由于受到运算速度及内存大小的限制,以往的车牌识别大都是基于灰度图象处理的识别技术.其中首先要求正确可靠

    2024年02月11日
    浏览(40)
  • 毕业设计-基于深度学习的垃圾分类识别方法

    目录 前言 课题背景和意义 实现技术思路 一、目标检测算法对比研究 二、垃圾数据集的制作 实现效果图样例 最后     📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设

    2024年02月06日
    浏览(56)
  • 5.2 FPGA:基于verilog的LED流水灯设计(多种方法)

    目录 设计目标:8个LED灯以每0.5s的速率进行循环闪烁 方法1:移位法实现 设计模块 仿真代码 实验结果  方法2:循环移位方法  设计模块 方法3:使用三八译码器实现流水灯 顶层模块 底层模块 当仿真时时间长,可以减小设计代码的计数次数,对分析移位功能没有影响。 设计

    2024年02月06日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包