【字符识别】基于模板匹配结合区域生长法实现字母+数字识别含Matlab源码
【字符识别】基于模板匹配结合区域生长法实现字母+数字识别含Matlab源码
TT_Matlab
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。
1 简介
本文涉及图像识别处理领域,特别涉及基于模板匹配的OCR识别方法;将待识别图像文字切分成仅包含单个字符的子图片;将其中的数字,字母和标点符号,文字子图分别标记出来;根据待识别图像文字选择对应的字体制作特征图片;并对待识别子图片和对应类型的特征图片进行归一化处理.在此基础上,进行特征比对,将待识别的数字,字母和标点符号子图片以及文字字符子图片分别于对应类型的特征模板进行对比计算,在进对比计算时,采用相同像素位置的异或算法,统计误差频次;将误差频次最小的特征图片对应的标注作为识别结果进行输出.本发明方法实现的图像识别,计算过程简单,节省人力和物力,识别效率较高.
2 部分代码
function imgCut=areaGrow(imgBW,p)
% 作用:进行区域生长
% 输入参数 imgBW 为一个背景为黑色的二值图像,p为一个种子点
[lines,cols]=size(imgBW); %获取imgBW的尺寸
imgCut=zeros(lines,cols); %建立一个跟imgOut同样尺寸的
0
矩阵,生长的区域保存在该矩阵中
imgCut(p(
1
),p(
2
))=
1
;%设置点(p(
1
),p(
2
))为种子点
count=
1
; %记录生长点周围
8
个像素中白色像素的个数,是下面循环结束的判断条件
while
count>
0
count=
0
;
for
i=
1
:lines
for
j=
1
:cols
if
imgCut(i,j)==
1
%在imgCut中扫描到白
if
(i-
1
)>
0
&&(i+
1
)<(lines+
1
)&&(j-
1
)>
0
&&(j+
1
)<(cols+
1
) %确认不为边界点
for
u=-
1
:
1
for
v=-
1
:
1
if
imgCut(i+u,j+v)==
0
&& imgBW(i+u,j+v)==
1
%在生长点周围寻找到未加入imgCut的白点
imgCut(i+u,j+v)=
1
;%将该点加入imgCut
count = count+
1
;
end
end
end
end
end
end
end
end
end
3 仿真结果
4 参考文献
[1]吴小艳等. "基于模板匹配的数字图像识别算法." 兵工自动化 24.6(2005):1.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。
-
2023年血糖新标准公布,不是3.9-6.1,快来看看你的血糖正常吗? 2023-02-07
-
2023年各省最新电价一览!8省中午执行谷段电价! 2023-01-03
-
GB 55009-2021《燃气工程项目规范》(含条文说明),2022年1月1日起实施 2021-11-07
-
PPT导出高分辨率图片的四种方法 2022-09-22
-
2023年最新!国家电网27家省级电力公司负责人大盘点 2023-03-14
-
全国消防救援总队主官及简历(2023.2) 2023-02-10
-
盘点 l 中国石油大庆油田现任领导班子 2023-02-28
-
我们的前辈!历届全国工程勘察设计大师完整名单! 2022-11-18
-
关于某送变电公司“4·22”人身死亡事故的快报 2022-04-26
