目录

  • 一、背景意义
  • 二、理论基础
    • 2.1 图像预处理
    • 2.2 图像识别技术
    • 2.2.1 统计特征字符识别技术
    • 2.2.2 结构特征字符识别技术
    • 2.2.3 基于机器学习的识别技术
  • 三、效果演示

一、背景意义

在日常学习和生活中,人眼是人们接收信息最常用的通道之一。据统计,人们日常处理的信息有75%~ 85%属于视觉信息范畴,文字信息则占据着重要的位置,几乎涵盖了人类生活的方面面。如对各种报纸期刊的阅读、查找、批注;对各种文档报表的填写、修订;对各种快递文件的分拣、传送、签收等。因此,为了实现文字信息解析过程的智能化、自动化,就需要借助计算机图像处理来对这些文字信息进行识别。
早在20世纪50年代初期,欧美就开始对文字识别技术进行研究。特别是1955年印刷体数字OCR产品的出现,推动了英文和数字识别技术的发展。美国IBM公司的Casey和Nagy最早开始了对汉字识别的研究,并于1966年发表了第一篇关于汉字识别的论文, 采用模板匹配法识别1000个印刷体汉字,从此在世界范围内拉开了汉字识别研究的序幕。日本于20世纪70年代中期开始进
行手写体汉字识别的研究,我国于20世纪80年代初期开始进行手写体汉字识别的研究。
本案例重点研究印刷体图像的灰度转换、中值滤波、二值化处理、形态学滤波、图像与字符分割等算法,形成一套效果明显、简便易行的印刷体字符图像识别算法。在印刷体字符的识别过程中,采用字符的归一化和细化处理方法,通过二值化和字体类型特征相结合的处理方式完成特征提取,并建立字符标准特征库,运用合理的模板匹配算法实现对印刷体字符的识别。

二、理论基础

2.1 图像预处理

为了加快图像识别等模块的处理速度,我们需要将彩色图像转换为灰度图像,减少图像矩阵占用的内存空间。由彩色图像转换为灰度图像的过程叫作灰度化处理,灰度图像就是只有亮度信息而没有颜色信息的图像,且存储灰度图像只需要一个数据矩阵,矩阵中的每个元索都表示对应位置像素的灰度值。
通过拍摄、扫描等方式采集印刷体图像可能会受局部区域模糊、对比度偏低等因索的影响,而图像增强可应用于对图像对比度的调整,可突出图像的重要细节,改善视觉质量。 因此, 采用图像灰度变换等方法可有效地增强图像对比度,提高图像中字符的清晰度,突出不同区域的差异性。对比度增强是典型的空域图像增强算法,这种处理只是逐点修改原印刷体图像中每个像素的灰度值,不会改变图像中各像素的位置,在输入像素与输出像素之间是一对一的映射关系。
二值图像是指在图像数值矩阵中只保留0、1数值来代表黑、白两种颜色。在实际的印刷体图像处理实验中,选择合适的阈值是进行图像二值变换的关键步骤,二值化能分割字符与背景,突出字符目标。对于印刷体图像而言,其二值变换的输出必须具备良好的保形性,不会改变有用的形状信息,也不会产生额外的孔洞等噪声。其中,二值化的阈值选取有很多方法,主要分为三类:全局阀值法、局部阈值法和动态阙值法,本案例结合印刷体字符图像的特点,采用全局阈值进行二值化处理。
印刷体图像可能在扫描或者传输过程中受到噪声干扰,为了提高识别模块的准确率,我们通常采用平滑滤波的方法进行去噪,如中值滤波、均值滤波。在本案例中,我们通过对字符图像的特征分析,采用二值化图像的形态学变换滤波进行去噪处理,保留有用的字符区域图像,消除杂点、标点符号等干扰。
在经扫描得到的印刷体图像中,不同位置的字符类型或大小可能也存在较大差异,为了提高字符识别效率,需要将字符统一大小来得到标准的字符图像,这就是字符的标准化过程。为了将原本各不相同的字符统一大小来, 我们可以在实验过程中先统一高度,然后根据原始字符的宽高比例米调整字符的宽度,得到标准字符。
此外,对输入的印刷体字符图像可能儒要进行倾斜校正,使得同属一行的字符也都处于同一水平位置,这样既有利于字符的分割,也可以提高字符识别的准确率。倾斜校正主要根据图像左右两边的黑色像素做积分投影所得到的平均高度进行,字符组成的图像的左右两边的字符像素高度一般处于水平位置附近,如果两边的字符像素经积分投影得到的平均位置有较大差异,则说明图像存在倾斜,需要进行校正。

2.2 图像识别技术

字符识别是印刷字符图仪识别的核心步骤,主要包括以下内容:
首先,识别模块学习、存储将要判别的字符特征,将这些特征汇总成识别系统的先验知识;
然后,选择合适的判别准则来基于先验知识对输入的字符进行研判;
最后,存储字符的识别结果并输出。
在实验过程中,字符的特征具有不同的来源,如空间域的点阵位置信息,在频域空间、小波空间等领域也都有各自的特征,而且不同的特征在识别字符时具有各自的特点及优势。根据字符识别模块所选择特征类型的不同,可以将其分为不同的识别技术。在一般情况下,根据所采用的技术策略,字符识别可以分为:统计特征字符识别技术、结构特征字符识别技术和基于机器学习的识别技术

2.2.1 统计特征字符识别技术

统计特征识别技术一般选择同类字符所共有的相对稳定且具有良好分类性的统计特征作为特征向量。统计特征常用的有字符所处二维空间的位置特征、字符所处水平或者垂直方向的投影直方图特征、字符区域矩特征、字符纹理特征或经过频域等变换后的特征。统计特征字体识别技术通过对大量字符的统计特征进行提取、学习、训练形成字符先验知识,构成字符库的模
板信息,并将其存储到识别模块。待识别图像在输入后首先提取相同的统计特征向量,然后与在识别模块中存储的字符先验知识根据指定的匹配程度算法进行比较,最后根据比较结果确定字符的最终类别,实现识别的目的。其中,匹配程度算法通常采用向量间的距离计算,如欧式距离、绝对值距离、汉明距离等,为了便于后续的模式判别,可以将这些距离作为输入进行归
一化,进而得到归一化的匹配程度。
在实际应用中,基于字符像素点平面分布的识别算法是最常用的匹配方法之一,具有简捷高效、易于实现的优点。该算法首先将字符图像归一化为标准
的维数大小,然后根据像索点的位置进行扫描匹配,最后计算模板和图像的某种距离值。但是,算法要对每个像素点都进行扫描、匹配,可能会造成算法实现计算量大,且对噪声、字符畸变等因素较为敏感,因此对待识别图像的质量要求较高。

2.2.2 结构特征字符识别技术

在现实生活中,人们往往更关心相近字符识别和手写体字符识别等功能,一般具有字体不同、场景多变的特点,因此结构特征字符识别技术应运而生。该技术以字符结构特征作为处理对象,可根据识别策略的不同选择不同的结构,具有灵活多变的优点。在实际应用中,可以选择字根、笔画、细微笔段等特征,这些特征一般被称作字符的子模式、 组件、基元,将所有基元按照某种顺序排列、存储就形成了字符的结构特征。因此,基于结构的字符识别实际上是将字符在基元组成的结构空间中进行映射,然后进行识刚。其中,识别过程一般是在基元组成的结构空间上利用建模语言和自动机理论,采取语法分析、图匹配、树匹配和知识相理等方法分析字符结构的过程。该技术常用的结构特征有:笔画走向、孤立点、闭合笔画等,如果被应用于汉字识别,则可结合汉字自身明显的结构性,利用汉字的结构特点进行识别,也可以达到较好的效果。传统的识别力法一般对输入的图像采取统一分辨率变换处理,其分辨率的大小取决于算法的复杂度和资源存储条件,往往会造成系统资源的浪费和识别效率的降低。

2.2.3 基于机器学习的识别技术

人类对文字的识别能力远远胜过计算机,以常见的验证码为例,无论是对字符进行变形、模糊,还是损坏部分区域,人类都能很好地识别。基于机器学习的字符识别技术力图通过对人脑学习相识别的模拟来实现对字符的高效识别。经过近几年的迅速发展,机器学习在字符识别方面得到了广泛应用。特别是在OCR系统中,机器学习已经得到了更充分的应用。通过将字符的特征向量作为输入,机器学习模块输出的是字符的分类结果,即识别结果。在实际应用中,如果只是进行字符图像处理和识别流程,则得到的特征向量可能包含某些冗余甚至矛盾的信息,往往需要进一步优化和处理。机器学习模块经过反复训练,可以智能地优化特征向量,去除冗余、矛盾的信息,突出类之间的差异。同时,借助机器学习成熟的架构模式及运行结构,可以应用并行计算到运行过程中,所以可以加快大规模问题的求解速度。

三、效果演示

本案例为读取某印刷版本的英文文章图片,通过行分割、列分割进行单词定位。然后与标准的英文字符做对比来进行英文字符的识别。特别是可关联Figure窗口的鼠标移动事件,实时显示识别的效果。
原始待识别图像如下:

运行程序后,将生成的标准的英文字符模板,并关联窗口的鼠标移动事件,通过自动对比来识别英文字符,识别图像如下:

最后,为了能够进行提取字符图像,通过Figure窗口绘制text标签,再循环进行截图、存储,存储后结果放置在pic文件夹下:

ok,以上便是全部内容了,如果需要源代码,联系方式如下【请备注:英文印刷字符识别】(白嫖党慎入)。

【MATLAB图像处理实用案例详解(6)】—— 基于特征匹配的英文印刷字符识别相关推荐

  1. 【MATLAB图像处理实用案例详解】目录

    未来一个月的任务主要是GAN生成对抗网络理论部分+代码实战和MATLAB图像处理实用案例详解. 做生成对抗网络主要是因为我的研究方向涉及到这个部分,因此将其作为主要研究内容,但由于研究方向的私密性问题 ...

  2. 第 09 章 基于特征匹配的英文印刷字符识别 MATLAB深度学习实战案例

    基于特征匹配的英文印刷字符识别 MATLAB深度学习实战 话不多讲,直接开撸代码 MainForm函数 function MainForm global bw; global bl; global b ...

  3. 【MATLAB图像处理实用案例详解(3)】—— 基于阈值分割的车牌定位识别

    目录 一.背景意义 二.理论基础 2.1 车牌区域分割: 2.2 车牌定位及裁剪 三.算法流程 3.1 车牌图像处理 3.1.1 图像灰度化 3.1.2 图像二值化 3.1.3 图像边缘检测 3.1. ...

  4. 【MATLAB图像处理实用案例详解(1)】—— 基于直方图优化的图像去雾技术

    目录 一.背景意义 二.理论基础 2.1 空域图像増强 2.2 直方图均衡化 三.方法选择 3.1 全局直方图算法 3.2 局部直方图算法 3.3 Retinex算法 四.效果演示 五.完整代码 一. ...

  5. 基于特征匹配的英文印刷字符识别代码自己的注释

    function MainForm global bw; global bl; global bll; global s; global fontSize; global charpic; globa ...

  6. 【MATLAB数据处理实用案例详解(13)】——利用Elman网络实现上证股市开盘价预测

    目录 一.问题描述 二.Elman网络预测上证股市开盘价原理 三.算法步骤 3.1 加载数据 3.2 构造样本集 3.3 划分训练集和测试集 3.4 创建Elman神经网络 3.5 网络训练 3.6 ...

  7. MacOS 的 Automator 实用案例详解

    文章目录 创建新建文本文件的服务 创建批量开启多个应用程序的服务 创建批量开启多个应用程序的程序 创建退出所有程序的服务 如何删除/隐藏创建的服务 删除服务 隐藏服务 创建新建文本文件的服务 打开 A ...

  8. 案例详解:基于工业大数据和工业互联网的离散型智能工厂

    1.企业简介 深圳市豪恩声学股份有限公司创立于2001年,注册资本总额4168万元,公司在深圳坪山自建工业园区,拥有现代化办公及生产场地3.5万平方米,现有员工2000人,智能机器人近100台,现代化 ...

  9. 【印刷字符识别】基于matlab特征匹配英文印刷字符识别【含Matlab源码 310期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源: [印刷字符识别]基于matlab特征匹配英文印刷字符识别[含Matlab源码 310期] 获取代码方式2: 通过订阅紫极神光博客付费专栏 ...

最新文章

  1. Swift的Guard语句
  2. Oracle HA 之 Server Pool 实战
  3. fastjson判空_fastjson JSON 对象为空保留null
  4. Dell工作站UEFI与BIOS,AHCI与RAID模式
  5. 备份mysql的批处理命令
  6. 抖音直播间弹幕protocbuf分析
  7. Too many open files的四种解决办法
  8. 第二sprint总结
  9. spring security3.x学习(15)_扩展JdbcDaoImpl。
  10. [SVN] 分支同步、合入主干操作分享
  11. Opencv的KeyPoint和DMatch数据结构
  12. 计算机网络管理师2级,计算机网络管理员(二级)操作技能考核试卷
  13. 20172328《程序设计与数据结构》第六周学习总结
  14. JAVA基础-java继承类实现
  15. 汇编语言学习笔记(续)
  16. BPF高阶 - 使用BPF过滤固定特征报文
  17. 自考计算机专业实践报不了名,2014年9月北京自考计算机及应用专业实践课程网报通知...
  18. String------字符串的字母大小写切换及获取
  19. 有赞android电话面试,有赞校招面试总结
  20. 流量分析实战(1⃣️)_2014_11_16

热门文章

  1. CPM CPT CPC CPA CPS广告营销模式
  2. 苹果x屏幕多少钱_iphone7plus屏幕失灵,7p换屏幕多少钱
  3. 三星S7edge 8.0最新版G9350ZCS5CTA1刷机线刷
  4. 保存页面文本到本地文件读取本地文件内容到页面
  5. freenas 蜗牛星际_上车了蜗牛星际(二)
  6. DB2如何停库/如何使数据库处于offline状态
  7. 电子科技大学计算机男女比例,我国最牛的电子科技类985大学,男女比例失调,男生大多打光棍...
  8. 自带删除图片的DeleteImageView简单实现
  9. 抖音seo,抖音搜索排名,抖音优化系统,矩阵管理
  10. 中化集团CIO:“拨云见日”是勇敢者的游戏