基于matlab的人民币面额识别


    








    基matlab民币动识



    姓 名
    学 号
    院 系 信息科学工程学院
    专 业
    年 级
    指导老师












    文通分析第五版民币特征利纸币中央数字特征提取识方法通matlab软件实现第五版民币100元50元20元识

    关键词:第五套民币 边缘检测提取 中央数字特征

    前言:科技断进步手工劳动先进机械电子设备代交话费存款买东西必须营业厅者商场办理手续通客户服务员间业务交流实现服务实施体验动缴费机存取款体机动售货机出现生活中先进设备中重门技术:纸币识技术钞票投入缴费机者存款机时机器必定会首先识户投入面额少纸币进行真伪辨数写入等功目前已识技术诸图匹配法识神网络识尺寸识纸币部荧光物质识等等组提出matlab软件利软件图处理超强力保证识准确率前提100元50元20元民币进行快速效识

    正文
    背景介绍
    二 Matlab函数介绍
    1 Imread
    函数imread读取图片文件中数
    调格式:
    A imread(filenamefmt)
    [Xmap] imread(filenamefmt)
    [] imread(filename)

    2 Imshow
    imshowmatlab中显示图函数
    调格式:
    imshow(BW):显示张二值图BW
    imshow(RGB):显示张真彩色图RGB
    imshow(Xmap):指定调色板显示图

    3 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]

    4 Imfill
    该函数填充图区域空洞
    调格式:
    BW2 imfill(BW)
    种格式张二值图显示屏幕 允许户鼠标图点点 点围成区域填充区域种交互方式操作 BW必须二维图户通Backspace键者Delete键取消前选择区域通shift+鼠标左键单击者鼠标右键单击双击确定选择区域
    [BW2locations] imfill(BW)
    种方式 返回户取样点索引值注意里索引值选取样点坐标
    BW2 imfill(BWlocations)
    种格式允许户编程时指定选取样点索引locations维数组时 数组行指定区域
    BW2 imfill(BW'holes')
    填充二值图中空洞区域 黑色背景白色圆圈 圆圈区域填充
    I2 imfill(I)
    种调格式填充灰度图中空洞区域
    BW2 imfill(BWlocationsconn)

    5 Bwperim
    查找二值图边缘
    调格式:
    BW2 bwperim(BW1)
    BW2 bwperim(BW1conn)
    BW2 bwperim(BW1conn)
    表示输入图BW1中返回包括象边缘素点图
    6 Mode
    众数函数计算组数中众数
    众数简单说组数中占例数
    调格式:
    mode(x)
    7 medfilt2
    中值滤波函数
    调格式:
    medfilt2(A[m n])
    8 Logical
    判断参数否逻辑值果检验容逻辑值返回TRUE(1)否返回FALSE(0)
    调格式:
    Logical(value)
    9 Find
    原始数中某字符串进行定位确定位置
    10 edge
    调格式:
    BWedge(I)
    采灰度二值化图I作输入返回I相二值化图BW函数检测边缘方1方0
    BWedge(I’sobel’)
    动选择阈值sobel算子进行边缘检测

    算子roberts算子prewitt算子log算子等等


    三 纸币识流程图



    读入检测图片

    出结果
    进行图边缘检测提取边缘剪切

    中央数字部分识

    提取中央数字部分
















    四 流程部分详细说明
    1 读入检测图片
    Imimread(100jpg’)
    figure(1)
    imshow(Im)

    读入张黑色背景100元民币图片然imshow函数进行图片查
    2 进行图边缘检测提取
    边缘检测两种方法种edge函数进行边缘检测种二值化+图填充+提取边缘方法
    edge函数进行边缘检测选择Sobel算子
    Fedge(I2'sobel')sobel算子边缘检测
    figure(2)
    imshow(F)

    图sobel算子边缘检测图达需效果部白色纹路较影响边缘截取选择第二种方法:二值化+图填充+提取边缘
    首先图进行二值化处理然imfill函数调hole格式图中空洞进行填充然调bwperim函数二值图进行边缘检测面检测程结果




    3 边缘剪切
    二值化边缘图需边缘进行剪切切掉背景图案留钞票图案便例分割图片
    采mode函数边缘位置确定首先二值图读入矩阵生成m行n列矩阵然行行进行检测遇白色区域(值1)时白色区域处列位置记入数组检测完毕mode函数数组进行检测数组中数字出现边缘位置关键循环:
    for i1m
    for j1n
    if F(ij)~00代表黑色果F(ij)黑色(图区域)
    kk+1
    left(k)j
    for j1n1j
    if F(ij1)~0
    ll+1
    right(l)j1
    break
    end
    end
    break
    end
    end
    end

    图剪切效果灰度图
    4 提取中央数字部分

    百元钞票左边中央数字1距离概占整长度025右边05边0275边0520元50元类似:
    FFv2jianqie(0275*m050*m0254*n05*n)
    中央数字图片
    5 中央部分识
    中央部分识分两步:1区分百元5020元2区分50元20元
    区分百元方法简单百元50元20元截取部分固定1003位数占图片例肯定手算100元中央数字约占超截取道德图80判断出检图100元关键程序:
    Ty_100logical(sum(FFv2_bw)<(mt22))
    Ty_100_lfind((Ty_1001))
    rat_100(Ty_100_l(end)Ty_100_l(1))nt2
    if rat_100>08
    val_mid100val_mid检测结果
    Else
    ……

    果检图片100元图片进行步50元20元区分
    5020均2位数法通占例进行区分通数字某特征进行区分需区分开52

    图示52细节图取52左部分进行较(红框圈)数字5两根蓝线间距离面两根蓝线距离2恰恰相反出结果
    关键程序:
    [hang_mhang_n]size(hang)
    hang_newround(sum(hang2)hang_n)
    hang_blackhang_new(2)hang_new(1)第黑点第二白点间距离
    hang_whitehang_new(3)hang_new(2)第二白点第二黑点间距离
    if hang_black>hang_white
    val_mid 50
    else
    val_mid 20
    end
    end

    五 程序运行结果

    结果显示正确

    六 遇问题
    1 关背景复杂度问题
    边缘检测提取算法完善导致识程序具局限性体现两方面:
    (1) 复杂背景法正常识
    背景果复杂二值化会导致复杂背景变成连续线条线条较长时候边缘检测程序会段线条识边缘众数计算时候位置样满足系统会认处边缘事实背景中二值化线条导致剪切边缘法正确实现进影响面中央分割识
    图复杂背景边缘检测结果

    第幅图原图黑色背景中机绘制条长曲线第二幅图原图背景实际生活中建筑物片两幅图轮廓均法正常提取第幅曲线部分开始进行提取位置错误第二幅图根法正常提取
    程序存定局限性处理背景太复杂二值化会出现长曲线纸币图

    (2) 浅色背景法正常识
    程序边缘检测方法图二值化利背景纸币间黑白差异寻找纸币边缘民币背景浅色时二值化时候会浅色动二值化白色(1)纸币部少部分会二值化黑色边缘周围白色样根法区分纸币背景imfill填充法清二值图边缘
    实验图片:

    图中二值化整幅图片中央少部分方均二值化白色轮廓提取失败

    2 关边缘检测两种算法问题
    组成员首先edge函数中sobel算子检测方法通实验发现处理背景较干净图片时方法行背景中干扰时边缘检测提取会出现种问题网查询思考决定种边缘检测提取方法二值化+填充空洞+bwperim函数方法图edge函数边缘检测图

    幅图出edge函数边缘然完整部图然存时会干扰边缘位置确定结果次课程设计选择第二种方法
    图背景中存干扰图edge函数处理剪切图

    图知sobel算子边缘检测种情况法正常运行

    七 心体会
    通次课程设计图识新思路时解关matlab专业知识熟悉函数法编写程序程中出现种问题解学着莫处通次课程设计深知足相信接时间里会断改正完善程序

    参考文献:
    matlab初学者教程(翻译版)
    基matlab四种民币识方法 邵爱刚
    数字信号处理(清华学出版社)

    附录:
    程序代码:



    课程设计课题100元50元20元民币识



    —————————————————————————
    图预处理部分
    —————————————————————————

    边缘检测
    imimread('50yuanjpg')读取原图
    figure(1)
    subplot(221)
    imshow(im)
    title('原始图')显示原图
    imim2bw(im)转二值图
    subplot(222)
    imshow(im)
    title('二值图')显示二值图
    im2imfill(im'holes')填充空洞
    Fbwperim(im2)轮廓提取(bwperim函数二值图轮廓提取)
    subplot(223)
    imshow(im2)
    title('填充图')显示填充
    subplot(224)
    imshow(F)
    title('提取出轮廓')

    利edge函数sobel算子进行边缘检测
    Iimread('imfill100jpg')
    I1rgb2gray(I)
    n1
    H1(n*n)*ones(nn)
    I2imfilter(I1H)
    figure(1)
    subplot(131)
    imshow(I)
    title('原图')
    subplot(132)
    imshow(I1)
    title('灰度图')
    subplot(133)
    imshow(I2)
    title('滤波图')
    Fedge(I2'sobel')sobel算子边缘检测
    figure(2)
    imshow(F)

    边缘提取算法
    [m n]size(F)j图数赋值矩阵m行数n列数
    Fdouble(F)图数转换double类型
    k0l0变量初始化

    左右边缘提取
    *******方法简述:两边时行行检测****
    *******行轮廓列数记然******
    *******求众数***************************
    for i1m
    for j1n
    if F(ij)~00代表黑色果F(ij)黑色(图区域)
    kk+1
    left(k)j
    for j1n1j
    if F(ij1)~0
    ll+1
    right(l)j1
    break
    end
    end
    break
    end
    end
    end
    计算众数求出左右边界
    rightmode(right)
    leftmode(left)
    边界提取
    k0l0
    for j1n
    for i1m
    if F(ij)~00代表黑色果F(ij)黑色(图区域)
    kk+1
    up(k)i
    for i1m1i
    if F(i1j)~0
    ll+1
    down(l)i1
    break
    end
    end
    break
    end
    end
    end
    计算众数求出边界
    upmode(up)
    downmode(down)

    根边缘位置截取图
    picimread('imfill100jpg')
    jianqiepic(updownleftright)
    jianqieim(updownleftright)
    figure(2)
    subplot(211)
    imshow(im)
    title('原图')
    subplot(212)
    imshow(jianqie)
    title('边缘剪切图')

    —————————————————————————
    图识部分
    —————————————————————————
    中央数字提取
    [m n]size(jianqie)
    FI(round(024*m)round(050*m)round(025*n)round(052*n))
    FFv2jianqie(0275*m050*m0254*n05*n)截取中央图
    FFv2medfilt2(FFv2[44])4*4矩阵中值滤波
    FFv2FFv2(2(end4)2(end4))
    [mt2 nt2]size(FFv2)
    FFv2_bwim2bw(FFv205)二值化
    figure(3)
    subplot(411)
    imshow(jianqie)
    title('原图')
    subplot(412)
    imshow(FFv2)
    title('中央数字提取+中值滤波图')
    subplot(413)
    imshow(FFv2_bw)
    title('二值化中央数字图')
    纸币检测
    Ty_100logical(sum(FFv2_bw)<(mt22))处检测中央数字起始终止边缘二值图某列存0(黑色图区域)logical返回TRUE(1)
    Ty_100_lfind((Ty_1001))1位置赋值Ty_100_1
    rat_100(Ty_100_l(end)Ty_100_l(1))nt2计算图区域占剪切区域例
    if rat_100>08果08100处系数前截取中央图关
    val_mid100val_mid检测结果
    else检测5020
    lie_f 0
    for j 1(nt22)
    for i 1(mt22)
    if ~(FFv2_bw(ij)+lie_f)
    liej
    lie_f1
    end
    end
    end
    前列 2——6 5列取黑白行数
    FFv2_bw_fFFv2_bw((lie+2)(lie+6))
    hang(3)mt2
    for j15
    for i1(mt22)
    if ~(FFv2_bw_f(ij)+FFv2_bw_f(i+1j)+FFv2_bw_f(i+2j))
    hang(1j)i第行记录首次黑点行数
    for k(i+2)(mt22)
    if (FFv2_bw_f(kj)+FFv2_bw_f(k+1j)+FFv2_bw_f(k+2j))>2
    hang(2j)k+1第二行记录二次白点
    for l(k+2)mt2
    if ~(FFv2_bw_f(lj))
    hang(3j)l第三行记录二次黑点
    break
    end
    end
    break
    end
    end
    break
    end
    end
    end
    [hang_mhang_n]size(hang)
    hang_newround(sum(hang2)hang_n)
    hang_blackhang_new(2)hang_new(1)第黑点第二白点间距离
    hang_whitehang_new(3)hang_new(2)第二白点第二黑点间距离
    if hang_black>hang_white
    val_mid 50
    else
    val_mid 20
    end
    end
    subplot(414)
    imshow('jieguojpg')
    xlabel([val_mid]'Fontsize'36'color''r')







    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 5 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    基于Matlab的特定人孤立词识别系统开题报告

    合肥师范学院本科毕业论文(设计)开题报告(学生填写)学号姓名指导教师题目基于MATLAB的特定人孤立词识别系统课题内容: 课题任务:本论文主要介绍在Matlab平台上进行特定人孤立词的处理和识...

    1年前   
    397    0

    基于matlab的坐标正反算

     测量程序设计实验报告实验名称:坐标正反算实验三 坐标正反算一、实验目的编写坐标正反算程序,并对格式化文件数据进行计算,验证程序。二、实验内容1、编写坐标正算程序1) 建立以xy_direc...

    3年前   
    911    0

    基于matlab的电力电子仿真设计报告

    课程设计(综合实验)报告( 2010-- 2011 年度第 1 学期)名 称:电力电子技术课程设计院 系:电气与电子工程学院班 级: 电气班 学 号:...

    4年前   
    974    0

    1元以下小面额人民币流通情况调查报告

      **县农村信用合作联社 关于1元以下小面额人民币流通情况调查报告   人行**县支行: 近年来,随着农村经济的迅速发展,现金投放和使用量逐年递增,人民币在流通和管理中的问题逐渐凸...

    5年前   
    3628    0

    基于PYNQ平台的手写数字识别

    PYNQ全称为Python Productivity for Zynq,即在原有Zynq架构的基础上,添加了对python的支持。Zynq是赛灵思公司推出的行业第一个可扩展处理平台系列,在芯片中...

    5年前   
    8724    0

    基于机器学习的手势识别研究

    基于机器学习的手势识别研究目录摘 要 IIIAbstract IV第一章 绪论 11.1课题背景及问题的提出 11.2 手势识别技术发展现状及发展趋势 11.3论文主要内容 3第二章 基于...

    3年前   
    787    0

    基于MATLAB的ASK调制解调实现课程设计

    大学《通信原理》课程设计报告学 院 专 业 班 级 学 号 ...

    3年前   
    726    0

    基于matlab风力发电系统的建模与仿真

     ( 2009 届)毕业设计(论文)题  目:   风力发电系统的建模与仿真     学  院:   嘉兴学院             专  业:   电气工程及其自动化       ...

    2年前   
    709    0

    基于人脸识别的动态识别签到系统设计与实现

    目标检测(Object Detection)是近年来计算机科学的研究重点,他可以通过识别目标的几何特征,将复杂的场景分割并针对特定的目标进行识别,关键点在于准确度以及实时性 。人脸识别(Face...

    3年前   
    1209    0

    基于opencv的车牌识别系统设计与实现

     基于opencv的车牌识别系统设计与实现 ...

    2年前   
    745    0

    —基于机器学习的人脸识别算法的设计与实现

    人脸识别技术是一种新型的生物特征认证技术。人脸识别技术也是一个非常活跃的研究领域,涵盖了许多领域,例如数字图像处理。随着人们对应用程序需求的增长,面部识别技术趋向于大量使用,使用微芯片和标准化。

    3年前   
    824    0

    基于视觉的车道线识别算法研究毕业论文

    毕业设计基于视觉的车道线识别算法研究Research on Algorithms of Vision-basedLane Recognition 2009 届 电气与电子工程 分...

    4年前   
    995    0

    基于图像识别的智能小车系统设计

    第1章 绪论1.1 课题背景目前,在企业生产技术不断提高、对自动化技术要求不断加深的环境下,智能车辆以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备。世界上...

    8个月前   
    243    0

    基于python的人脸识别系统

    随着科技的不断发展,人工智能在人类生活的应用越来越普及,作为当前最受关注的生物特征识别的方法,人脸识别在考勤、边检、安防、运输等领域有着巨大应用前景,是人工智能与计算机视觉领域的研究热点之一。

    3年前   
    2106    2

    数字图像处理车牌识别课程设计matlab实现附源代码

    基于matlab的车牌识别系统一、 目的与要求目的:利用matlab实现车牌识别系统,熟悉matlab应用软件的基础知识,了解了基本程序设计方法,利用其解决数字信号处理的实际应用问题,从而加深...

    1年前   
    341    0

    人民币冠字号码识别机具管理办法

      冠字号码识别清分设备的管理办法   第一章  总  则 第一条 为规范人民币冠字号码识别功能的设备的使用、管理,全面提高银行业金融机构现金服务水平,建设良好的人民币流通环境,更好地维...

    10年前   
    12199    0

    基于MATLAB的电力系统短路故障分析与仿真

    ·……………………. ………………. …………………毕 业 论 文 基于MATLAB的电力系统短路故障分析与仿真 院 部 机械与电子工程学院 ...

    3年前   
    834    0

    开题报告-基于MATLAB的锅炉气温神经网络控制

    开题报告电气工程及自动化基于MATLAB的锅炉气温神经网络控制一、综述本课题国内外研究动态,说明选题的依据和意义1.过热汽温控制系统和神经网络控制现状我国目前电站锅炉中燃煤炉占有最大比重,锅炉...

    4年前   
    841    0

    基于matlab的电力系统故障分析与仿真

    课程设计说明书题目名称:基于Matlab的电力系统故障分析与仿真系 部: 电力工程系 专业班级: 电气工程 学生姓名: ...

    3年前   
    693    0

    基于MATLAB的过热汽温控制的仿真与设计

    基于MATLAB的过热汽温控制的仿真与设计摘要 随着我国电力工业的迅速发展,越来越多的高参数大容量机组陆续投产。从发展趋势看, 600MW 及以上等级的火电机组已成为大电网的主力机组。同时大容...

    2年前   
    344    0

    文档贡献者

    文***8

    贡献于2020-07-23

    下载需要 5 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!
    下载文档

    该用户的其他文档