当前位置 : 主页 > 编程语言 > python >

【人民币识别】基于RGB颜色空间实现人民币序列号识别含Matlab源码

来源:互联网 收集:自由互联 发布时间:2022-06-18
1 简介 人民币纸币序列号是由纸币的冠号和数字编号组成,犹如居民身份证 号,具有唯一性.纸币序列号的自动识别对实现纸币的有效管理以及缩小纸币真伪鉴别范围具有重要的理论意义和

1 简介

人民币纸币序列号是由纸币的冠号和数字编号组成,犹如居民身份证 号,具有唯一性.纸币序列号的自动识别对实现纸币的有效管理以及缩小纸币真伪鉴别范围具有重要的理论意义和实际应用价值.系统提出了一种基于模板匹配的人 民币纸币序列号识别方法.在对图像进行预处理的基础上,先根据物理尺寸将纸币分成不同的类别,然后根据各种面值纸币序列号字符的位置和大小,定位序列号字 符;采用投影法分割序列号字符;提取字符网格特征,用特征矩阵表示字符;最后采用模板匹配法识别字符.实验结果表明,系统具有较高的识别率和速率,且具有 一定的稳定性.

【人民币识别】基于RGB颜色空间实现人民币序列号识别含Matlab源码_序列号

【人民币识别】基于RGB颜色空间实现人民币序列号识别含Matlab源码_参考文献_02

【人民币识别】基于RGB颜色空间实现人民币序列号识别含Matlab源码_序列号_03

2 部分代码

function OCR1()
warning off %#ok<WNOFF>
if(exist('text1.txt','file')==2)
delete('text1.txt')
end
imagen=imread('1.jpg');
imshow(imagen);
title('INPUT IMAGE WITH NOISE');
pause(0.5);
if size(imagen,3)==3 %RGB image
imagen=rgb2gray(imagen);
end
threshold = graythresh(imagen);
imagen =~im2bw(imagen,threshold);
imagen = bwareaopen(imagen,30);
word=[ ];
re=imagen;
fid = fopen('text1.txt', 'a');
load templates
global templates
num_letras=size(templates,2);
while 1
[fl re]=lines(re);
imgn=fl;
[L Ne] = bwlabel(imgn);
for n=1:Ne
[r,c] = find(L==n);
n1=imgn(min(r):max(r),min(c):max(c));
img_r=imresize(n1,[42 24]);
letter=read_letter(img_r,num_letras);
word=[word letter];
end
fprintf(fid,'%s\n',word);
word=[ ];
if isempty(re)
break
end
end
fclose(fid);
copyfile text1.txt ;
winopen('text1.txt');

3 仿真结果

【人民币识别】基于RGB颜色空间实现人民币序列号识别含Matlab源码_序列号_04

【人民币识别】基于RGB颜色空间实现人民币序列号识别含Matlab源码_模板匹配_05

4 参考文献

[1]张冬娇, and 甘早斌. "基于模板匹配的人民币纸币序列号识别系统研究." 计算机与数字工程 40.1(2012):5.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。


【人民币识别】基于RGB颜色空间实现人民币序列号识别含Matlab源码_模板匹配_06

网友评论