1 简介 人民币纸币序列号是由纸币的冠号和数字编号组成,犹如居民身份证 号,具有唯一性.纸币序列号的自动识别对实现纸币的有效管理以及缩小纸币真伪鉴别范围具有重要的理论意义和
1 简介
人民币纸币序列号是由纸币的冠号和数字编号组成,犹如居民身份证 号,具有唯一性.纸币序列号的自动识别对实现纸币的有效管理以及缩小纸币真伪鉴别范围具有重要的理论意义和实际应用价值.系统提出了一种基于模板匹配的人 民币纸币序列号识别方法.在对图像进行预处理的基础上,先根据物理尺寸将纸币分成不同的类别,然后根据各种面值纸币序列号字符的位置和大小,定位序列号字 符;采用投影法分割序列号字符;提取字符网格特征,用特征矩阵表示字符;最后采用模板匹配法识别字符.实验结果表明,系统具有较高的识别率和速率,且具有 一定的稳定性.
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 仿真结果
4 参考文献
[1]张冬娇, and 甘早斌. "基于模板匹配的人民币纸币序列号识别系统研究." 计算机与数字工程 40.1(2012):5.