1 简介
针对工业生产中数字式仪表的自动识别问题,利用图像处理技术和匹配技术,提出了一种仪表显示字符的识别方法。通过图像灰度化、直方图增强和中值滤波去噪等技术对图像进行预处理,运用相关匹配和图形模板匹配的方法对输入的字符模式进行初始分类和识别。测试结果表明,算法能够自动、快速、准确地识别出仪表的显示字符。
2 部分代码
%读数%20140102
close all
clear
clc
plantype = 2;% 1是读指针,2是读数字
file = '3.tif';%指针
% file = 'H:\picture\digital\28-20.tif';%数字
I0 = imread(file);
figure;imshow(I0);title('待读数图片');
scale = 1000/length(I0);
Irsz = imresize(I0,scale);
clear I0;
%%%%%%2.1:读指针%%%%%%
if plantype == 1
%%%%%%2.1.1:剪切图片,与模板图片相减%%%%%%
load plan1;
Ic = imcrop(Irsz,Rect);
Isub = Istd - Ic ;
level = graythresh(Isub);
Ib = im2bw(Isub,level);
% figure;imshow(Ib);title('bwimage');%--------------------------------
case {0,1,2,3,4,5,6,7,8,9}
result = [result,sprintf('%d',flag)];
case 10
result = [result,sprintf('%c','.')];
case 11
result = [result,sprintf('%c','-')];
otherwise
result = [result,sprintf('%c','?');];
end
end
msgbox(result,'result');
end
end
%}
3 仿真结果
4 参考文献
[1]卢卫娜,刘长荣,郑玉才,王海芳. 一种基于模板匹配的数字仪表字符识别方法[J]. 现代计算机, 2008(3):4.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。