欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于matlab的文字识别算法 课程设计.docx

    • 资源ID:5713211       资源大小:90.27KB        全文页数:21页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于matlab的文字识别算法 课程设计.docx

    1、基于matlab的文字识别算法 课程设计摘 要本课程设计主要运用 MATLAB 的仿真平台设计进行文字识别算法的设计与仿真。 也就是用于实现文字识别算法的过程。从图像中提取文字属于信息智能化处理的前沿课 题,是当前人工智能与模式识别领域中的研究热点。由于文字具有高级语义特征,对图片 内容的理解、索引、检索具有重要作用,因此,研究图片文字提取具有重要的实际意义。 又由于静态图像文字提取是动态图像文字提取的基础,故着重介绍了静态图像文字提取技 术。随着计算机科学的飞速发展,以图像为主的多媒体信息迅速成为重要的信息传递媒介, 在图像中,文字信息(如新闻标题等字幕)包含了丰富的高层语义信息,提取出这些

    2、文字, 对于图像高层语义的理解、索引和检索非常有帮助。关键字 :文字识别算法;静态图像文字提取;检索1 课程设计目的 32 课程设计要求 43 相关知识 54 课程设计分析 85 系统实现 96 系统测试与分析 176.1文字识别算法仿真结果 176.2基于字符及单词的识别 196.2.1基于字符的识别 196.2.2基于单词的识别 206.3 现存算法的问题 216.3.1大多文字识别方法依赖于人工定义的特征 216.3.2脱离上下文的字符识别易造成显著的歧义 216.3.3简单的单词整体识别有着较大的局限性 226.3.4训练样本制作繁琐 227 参考文献 231课程设计目的图像文字提取又

    3、分为动态图像文字提取和静态图像文字提取两种,其中,静态图像文 字提取是动态图像文字提取的基础,其应用范围更为广泛,对它的研究具有基础性,所以 本文主要讨论静态图像的文字提取技术。静态图像中的文字可分成两大类:一种是图像中 场景本身包含的文字, 称为场景文字; 另一种是图像后期制作中加入的文字,称为人工 文字,如右图所示。场景文字由于其出现的位置、小、颜色和形态的随机性,一般难于检 测和提取;而人工文字则字体较规范、大小有一定的限度且易辨认,颜色为单色,相对与 前者更易被检测和提取,又因其对图像内容起到说明总结的作用,故适合用来做图像的索 引和检索关键字。对图像中场景文字的研究难度大,目前这方面

    4、的研究成果与文献也不是 很丰富,本文主要讨论图像中人工文字提取技术。静态图像中文字的特点 静态图像中文字(本文特指人工文字,下同)具有以下主要特征:(1)文字位于前端,且不会被遮挡;(2)文字一般是单色的;(3)文字大小在一幅图片中固定,并且宽度和高度大体相同,从满足人眼视觉感受 的角度来说,图像中文字的尺寸既不会过大也不会过小;(4)文字的分布比较集中,排列一般为水平方向或垂直方向;(6)多行文字之间,以及单行内各个字之间存在不同于文字区域的空隙。在静态图 片文字的检测与提取过程中,一般情况下都是依据上述特征进行处理的。数字图象处理静态图像文字提取一般分为以下步骤:文字区域检测与定位、文字分

    5、割与文字提取、 文字后处理。其流程如图所示。图 1 静态文字处理流程图2课程设计要求在高速发展的计算机软硬件技术的支撑下,多媒体技术的发展非常迅速,计算机技术 从传统的办公和计算逐渐向人工智能和数字娱乐发展。在人工智能技术中,对环境信息的 拾取处理和响应显得尤为重要,其中文本信息占环境信息很大一部分,为了使人工智能系 统更为完善,则需要系统能够像人眼一样对周围环境信息进行理解,尤其是环境信息中的 文本信息。实验表明,人类日常生活中,50%以上的信息量来源于眼睛捕捉的周围环境的图像, 人眼可以快速捕捉到图像中感兴趣的信息,而对于计算机来说,一幅图像仅仅是杂乱的数 据,如何让计算机想人眼一样快速读

    6、取图像中的信息并进行分类及检索等相应处理,一直 是多年来计算机视觉和模式识别研究者们探索的问题,如果能很好解决这些问题,能给工 业生产及国防科技带来巨大的改进。文字是信息存储和传递的重要载体,在很多由摄像设 备拍摄的图片中,都存在或多或少的文字,比如路牌、店名、车站牌、商品简介等,识别 图片中的文字对计算机理解图像的整体内容有非常重大的作用。如何将图片中的文字信息 抽象出来形成具有完整语义的信息,再将其表达出来用于信息传递,从而辅助人类的生产 和生活是研究计算机视觉的学者们多年来一直致力于解决的问题。研究如何对自然场景图 片中的字符进行识别,提取出有用信息,在获取图片文本信息的各个领域都有极大

    7、的商业 价值。场景文字识别在日常生活也有着重要的地位,例如车牌的识别,盲人对周边环境信息 的获取、图书馆管理的数字化和髙效化,以及网络中对指定的内容的图像和视频的检索等。自然场景文本识别,就是将提取出来的自然场景图片中的进行识别,提取出信息用于 进一步的处理。在对场景文字识别的研究中,获取自然场景图片时候,由于背景物体、光 线、阴影、拍摄角度引起的图片背景千变万化,摄像器材的精度、拍摄人员的技术等软硬 件的不同为拍摄同样的自然场景图片也带来了相当大的差别,被拍摄的图片中包含的文字 大小、颜色、书写风格的各不相同等因素都为自然场景文字识别的实现增加的相当的难度。 需要对自然场景图片中的识别首先需

    8、要对图片中的文本进行定位,然后再对己经精确定位 的图片进行识别。文本定位技术作为整个自然场景文本信息获取系统中的基础技术,已经 得到较好发展,相同地,文本识别技术在近年来也得到了比较好的发展,但是由于文本的 复杂性和随机性,较文本定位技术来说,文本识别技术发展较为缓慢。3相关知识1.在 Matlab 中调用 i1=imread(8.jpg),可得到原始图像,如图所示:图 2 文字识别算法调制器模型2.调用 i2=rgb2gray(i1),则得到了灰度图像,如图所示:图 3 灰度图像调用 a=size(i1);b=size(i2);可得到:a=3,b=2 即三维图像变成了二维灰度图像3.调用 i

    9、3=(i2=thresh);其中 thresh 为门限,介于图 4 所示之间图 4 thresh 门限值图 5 取得二值得到二值图像,如图所示:图 6 二值图像4.把二值图像放大观察,可看到离散的黑点 对其采用腐蚀膨胀处理,得到处理后的 图像,如图所示图 7 腐蚀膨胀处理后的二值图像可见,腐蚀膨胀处理后的图像质量有了很大的改观。横向、纵向分别的腐蚀膨胀运算 比横向、纵向同时的腐蚀膨胀运算好上很多。5、对腐蚀膨胀后的图像进行Y方向上的区域选定,限定区域后的图像如图所示: 扫 描方法:中间往两边扫。6、对腐蚀膨胀后的图像进行X方向上的区域选定,限定区域后的图像如图11所示: 扫描方法:两边往中间扫

    10、,纵向扫描后的图像与原图像的对照。7.调用 i8=(iiXY=1),使背景为黑色(0),字符为白色(1),便于后期处理。8. 调用自定义函数(字符获取函数)i9=getchar(i8)。9、调用自定义的字符获取函数对图像进行字符切割,并把切割的字符装入一维阵列。10.调用以下代码,可将阵列 word 中的字符显示出来。for j=1:cnum %cnum 为统计的字符个数subplot(5,8,j),imshow(wordj),title(int2str(j); %显示字符end11.调用以下代码,将字符规格化,便于识别:for j=1:cnum wordj=imresize(wordj,40

    11、 40); %字符规格化成 4040end12.调用以下代码创建字符集:code=char(由于作者水平有限书中难免存在缺点和疏漏之处恳请读批评指正,。); 将创建的字符集保存在一个文件夹里面,以供匹配时候调用。13.字符匹配采用模板匹配算法:将现有字符逐个与模板字符相减,认为相减误差最 小的现有字符与该模板字符匹配。图 8 字符匹配也就是说,字符A 与模板字符T1更相似,我们可以认为字符集中的字符T2就是字符 A。经模板匹配。14、调用以下代码,将字符放入 newtxt.txt 文本:new=newtxt,.txt;c=fopen(new,a+) ;fprintf(c,%sn,Code(1:

    12、cnum);fclose(c);4课程设计分析1、算法具有局限性。对于左右结构的字符(如:川)容易造成误识别,“川”字将 会被识别成三部分。当图片中文字有一定倾斜角度时,这将造成识别困难。2、模板匹配效率低。对于处理大小为 m&TImes;m 的字符,假设有 n 个模板字符,则 识别一个字符至少需要 m&TImes;mn2 次运算,由于汉字有近万个,这将使得运算量 十分巨大!此次字符识 别一共花了 2.838 秒。3、伸缩范围比较小。对于受污染的图片,转换成二值图像将使字符与污染源混合在 一起。对于具体的图片,需反复选择合适的 thresh进行二值化处理,甚至在处理之前必须 进行各种滤波。5系

    13、统实现文字识别算法仿真代码如下:function Stroke= StrDetect01(LeftD,Y1,Y2,ST,PT)% ST 为结构阈值,为了指定高度和宽度结构变化的不同SL=0;SR=0;SV=0;Count=0;%PT=5; % 突变的阈值Str=T; % T 表示结构未定,Str用于保存当前的基本结构Stroke=T; % 用于保存基本结构Range=Y2-Y1+1; % 字符的宽度或者高度for j=Y1:Y2Count=Count+1;if (abs(LeftD(j)PT)if (LeftD(j)0)SR=SR+1;elseSV=SV+1;endendelse % 检测到突

    14、变的决策if (Count=fix(Range/4)+1) % 设定字符轮廓可能发生的突变范围if (SL=3)&(SR=3)Str=C;else if (SV=2*(SL+SR)&(max(SL,SR)3)|(min(SL,SR)SR)&(SL=0.5*SV)&(SR(SR+SV)Str=L;else if(SRSL)&(SR=0.5*SV)&(SL(SR+SV)Str=R;else if (max(SL,SR)=3)&(min(SL,SR)=2)Str=C;endendendendendStroke=Stroke Str;endif (j=2+Y1)&(j=fix(Range/4)+1)

    15、% 发生突变后,剩余部分可能无法形成字符结构if (SL=ST)&(SR=ST)Str=C;else if (SV=2*(SL+SR)&(max(SL,SR)3)|(min(SL,SR)SR)&(SL=0.5*SV)&(SR=(SR+SV)Str=L;else if (SRSL)&(SR=0.5*SV)&(SL=(SR+SV)Str=R;else if (max(SL,SR)=3)&(min(SL,SR)=2)Str=C;endendendendendStroke=Stroke Str;function Numeral=Recognition(StrokeTop,StrokeLeft,Stro

    16、keRight,StrokeBottom,Comp)% 采用四边的轮廓结构特征和笔划统计(仅针对 0 和 8 )识别残缺数字% Comp 是用于识别 0 和 8 的底部补充信息StrT=T;StrL=T;StrR=T;StrB=T;RStr=T; % 用于保存识别出的数字temp XT=size(StrokeTop);temp XL=size(StrokeLeft);temp XR=size(StrokeRight);%temp XB=size(StrokeBottom);for Ti=2:XTif (StrokeTop(Ti)=C)if (XL=2)&(XR=2)if(Comp=3)|(St

    17、rokeBottom(2)=C)&(StrokeLeft(2)=C)&(StrokeRight(2)=C)RStr=8;elseRStr=0;end else if(StrokeLeft(XL)=L)&(StrokeLeft(XL-1)=P)&(StrokeLeft(2)=C)RStr=2;else if (StrokeLeft(2)=C)&(XL=3)&(StrokeLeft(3)=P)RStr=9;else if (XL2)for Li=2:XLif (StrokeLeft(Li)=P)RStr=3;endendelse if (XL=2)for Ri=2:XR-1if (StrokeRi

    18、ght(Ri)=P)RStr=6;endendendendendendendelse if (StrokeTop(Ti)=V) % Topif (XR=2)&(StrokeRight(2)=C) % 数字 3 右端只有一个结构 RStr=3;else if (XR=2)&(StrokeLeft(2)=P)|(StrokeLeft(3)=P)|(StrokeLeft(XL)=V)RStr=7;else if (XR2)for Ri=2:XRif (StrokeRight(Ri)=P)RStr=5;endendendendI0=imread(8.jpg);% 必须为二值图像I=im2bw(I0,0

    19、.4);y0 x0=size(I);Range=sum(I);Hy=0;for j=1:y0if (Range(j)=1)Hy=Hy+1;endendRangeX=sum(I);Wx=0;for i=1:x0if (RangeX(i)=1)Wx=Wx+1;endendAmp=24/Hy; % 将文字图像归一化到24 像素点的高度。I=imresize(I,Amp);y x=size(I);%I=bwmorph(I,skel,Inf);%I=I;tic%= 基本结构 =% 第一类:竖( V );左斜( L );右斜( R );突变( P )% 第二类:左半圆弧( C );右半圆弧( Q )% 的

    20、三类:结构待定( T );%=%Left=zeros(1,y); % 左端轮廓检测 for j=1:yi=1;while (i=x)&(I(j,i)=1)i=i+1;endif (i=x)Left(j)=i;endendfor j=1:y-1LeftD(j)=Left(j+1)-Left(j);end%= 结构特征提取 =% j=1;while (Left(j)1)&(jy)j=j+1;endY1=j;j=y;while (Left(j)1)j=j-1;endY2=j-1; % 去掉急剧变化的两端%= 右边 =%Right=zeros(1,y); % 左端轮廓检测 for j=1:yi=x;w

    21、hile (i=1)&(I(j,i)=1)沈阳理工大学课程设计专用纸i=i-1;endif (i=1)Right(j)=i;endendfor j=1:y-1RightD(j)=Right(j+1)-Right(j);end%=%Top=zeros(1,x); % 顶端轮廓检测for i=1:xj=1;while (j=y)&(I(j,i)=1)j=j+1;endif (j=y)Top(i)=j;endendfor i=1:x-1TopD(i)=Top(i+1)-Top(i);end%=%i=1;while (Top(i)1)&(ix)i=i+1;endX1=i;i=x;while (Top(

    22、i)1)i=i-1;endX2=i-1; % 去掉急剧变化的两端%=%Bottom=zeros(1,x); % 底部轮廓检测for i=1:xj=y;while (j=1)&(I(j,i)=1)j=j-1;endif (j=1)Bottom(i)=j;endendfor i=1:x-1BottomD(i)=Bottom(i+1)-Bottom(i);end%= 数字 1 的宽度特征 =%Width=zeros(1,y);for j=1:yWidth(j)=Right(j)-Left(j);endW=m6系统测试与分析6.1文字识别算法仿真结果识别原图如图 9(a)所示,仿真结果如图 9(b)所

    23、示。图 9 ( a )识别原图图 9 ( b ) 仿真结果6.2基于字符及单词的识别6.2.1基于字符的识别Strokelets: A Learned Multi-scale Representation for Scene Text Recognition(CVPR 2014) 通过聚类图像块来学习中层笔画特征,然后使用霍夫(HOG)投票算法检测字符。在笔画 特征和HOG特征的基础上,使用随机森林分类器来进行字符分类。End-to-end scene text recognition(2011)借鉴计算机视觉通用的目标检测方法,提出 了一个新的文本识别系统。他们利用字符置信度以及字符之间的空

    24、间约束关系,给出最可 能的检测和识别结果。但是该算法只能用于水平方向排列的文本的检测识别。End-to-End Text Recognition with Hybrid HMM Maxout Models(2013)和PhotoOCR: Reading Text in Uncontrolled Conditions(2013)等人通过无监督的二分类技术或有监督的 分类器,将单词图像分割为潜在的字符区域。End-to-End Text Recognition with Hybrid HMM Maxout Models(2013)使用一种复杂的, 包含分割、矫正以及字符识别的CNN网络,结合使用固

    25、定词典的隐马尔科夫模型(HMM) , 生成最终的识别结果。PhotoOCR系统使用基于HOG特征的神经网络分类器,对分割得到的候选结果进行打 分,使用结合N元语言模型(N-gram)的Beam搜索算法,得到候选字符集合。最后,再进 一步使用语言模型和形状模型对候选字符组合进行重新排序。Deep Features for Text Spotting(2014)结合了文本一非文本分类器、字符分类器、二 元语言模型分类器,对整张图进行稠密的基于滑动窗口的扫描。最后结合固定词典,对图 片中的单词进行分析。基于字符的识别技术依赖于使用字符分类器对图像进行逐字符识别,最终将识别得到 的字符进行集成,得到图

    26、像中的整个单词。6.2.2基于单词的识别Scene Text Recognition using Higher Order Language Priors 以及 Large-Lexicon Attribute-Consistent Text Recognition in Natural Images 的工作依旧依赖于显式的字符分类 器,但是通过构建一个图结构来推导整个单词。这会遇到和基于字符识别方法类似的困难。Whole is Greater than Sum of Parts: Recognizing Scene Text Words(2013)使用整张文字 图片来识别单词:他们使用基于梯度

    27、的特征图与预先制作好的单词图像进行对比,利用动态 k 近邻来判断当前图片所包含的单词。该方法依赖于一个固定词典以及预先生成的单词图 片。Label embedding for text recognition(2013)使用集成的 Fisher 向量以及结构化的支持 向量机框架来建立图片和整个单词编码的关系。Word Spotting and Recognition with Embedded Attributes(2014)进一步探索了单词编码 的概念,他们为图片和单词字符串创建了一个编码空间。这其实是 Supervised mid-level features for word image

    28、 representation(2014)方法的扩展:显式利用字符级别的训练数据来 学习中间特征。Multi-digit Number Recognition from Street View Imagery using Deep Convolutional Neural Networks(2013)等人使用深度 CNN 对整张图片进行编码,并使用多个位置敏感的 字符级分类器来进行文字识别。他们在街景门牌号识别任务中取得了极大的成功。他们还 将该模型应用到长达 8 位的验证码识别任务上,并使用了合成的训练数据对模型进行训练。 该方法在 goggle 街景门牌号识别任务中获得了 96%以上的识别率。同时还在对 goggle 验 证码识别任务中获得了 99%以上的识别率。Synthetic Data and Artificial Neural Networks for Natural Scene Text


    注意事项

    本文(基于matlab的文字识别算法 课程设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开