首页 > 行业资讯 > 【字符识别】基于模板匹配结合区域生长法实现字母+数字识别含Matlab源码

【字符识别】基于模板匹配结合区域生长法实现字母+数字识别含Matlab源码

时间:2023-03-07 来源: 浏览:

【字符识别】基于模板匹配结合区域生长法实现字母+数字识别含Matlab源码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于合集 #图像处理matlab源码 974个

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代码问题可私信交流。

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

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐