✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
⛄ 内容介绍
随着我国信息化技术的不断升温,各行各业的自动化操作手段也在随势而新,会计电算化已经不是新话题,发票作为经济活动中的一个重要依据,其信息的收集,存储已然成为了一项"重体力劳动",采用传统的人工录入发票信息形式会耗费更多的人力,物力和财力,因此,利用现代信息处理技术来实现发票信息识别工作尤为迫切.当前地方国家税务机打发票由于其小巧性而被广泛普及使用.
⛄ 部分代码
imagen=gray(1200:1250,370:1350); %销售方区域 第1行
if size(imagen,3)==3 %RGB image
imagen=rgb2gray(imagen);
end
imagen = imbinarize(imagen);
imagen = 1 - imagen;
se = strel('line',10,80); % 用垂直线结构元素膨胀图像并比较结果。
BW2 = imdilate(imagen,se);
figure
imshow(BW2)
% 删除包含少于30个像素的所有对象
BW2 = bwareaopen(BW2,30);
imshow(BW2)
% 存储矩阵
word=[ ];
re=BW2;
fid = fopen('result.txt', 'w');
% 载入模板 进行匹配
load templates.mat
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);
filename_new=strcat(num2str(n),'.bmp');
imwrite(img_r,filename_new,'bmp');
% figure
% imshow(img_r)
word=[word letter];
end
fprintf(fid,'%s\n',word);
word=[ ];
if isempty(re)
break
end
end
fclose(fid);
⛄ 运行结果
⛄ 参考文献
[1]江素颖. 机打发票印刷体数字自动识别算法的研究与实现[D]. 北京工业大学.
[2]桂冠, 尹悦, 熊健,等. 一种基于图像处理的增值税发票识别方法:, CN108549843A[P]. 2018.