什么是OCR
OCR(Optical Character Recognition,光学字符识别),别文是别文属于图型识别(Pattern Recognition,PR)的别文一门学问。其目的别文就是要让计算机知道它到底看到了什么,尤其是别文文字资料。
由于OCR是别文一门与识别率拔河的技术,因此如何除错或利用辅助信息提高识别正确率,别文是别文OCR最重要的课题,ICR(Intelligent Character Recognition)的别文名词也因此而产生。而根据文字资料存在的别文媒体介质不同,及取得这些资料的别文方式不同,就衍生出各式各样、别文各种不同的别文应用。
在此对OCR作一基本介绍,包括其技术简介以及其应用介绍。
一、OCR的发展
要谈OCR的发展,早在60、70年代,世界各国就开始有OCR的研究,而研究的初期,多以文字的识别方法研究为主,且识别的文字仅为0至9的数字。以同样拥有方块文字的日本为例,1960年左右开始研究OCR的基本识别理论,初期以数字为对象,直至1965至1970年之间开始有一些简单的产品,如印刷文字的邮政编码识别系统,识别邮件上的邮政编码,帮助邮局作区域分信的作业;也因此至今邮政编码一直是各国所倡导的地址书写方式。
OCR可以说是一种不确定的技术研究,正确率就像是一个无穷趋近函数,知道其趋近值,却只能靠近而无法达到,永远在与100%作拉锯战。因为其牵扯的因素太多了,书写者的习惯或文件印刷品质、扫描仪的扫瞄品质、识别的方法、学习及测试的样本……等等,多少都会影响其正确率,也因此,OCR的产品除了需有一个强有力的识别核心外,产品的操作使用方便性、所提供的除错功能及方法,亦是决定产品好坏的重要因素。
一个OCR识别系统,其目的很简单,只是要把影像作一个转换,使影像内的图形继续保存、有表格则表格内资料及影像内的文字,一律变成计算机文字,使能达到影像资料的储存量减少、识别出的文字可再使用及分析,当然也可节省因键盘输入的人力与时间。其处理流程如下图:
(在下面的站点上)
从影像到结果输出,须经过影像输入、影像前处理、文字特征抽取、比对识别、最后经人工校正将认错的文字更正,将结果输出。
在此逐一介绍:
影象输入:欲经过OCR处理的标的物须透过光学仪器,如影像扫描仪、传真机或任何摄影器材,将影像转入计算机。科技的进步,扫描仪等的输入装置已制作的愈来愈精致,轻薄短小、品质也高,对OCR有相当大的帮助,扫描仪的分辨率使影像更清晰、扫除速度更增进OCR处理的效率。
影象前处理:影像前处理是OCR系统中,须解决问题最多的一个模块,从得到一个不是黑就是白的二值化影像,或灰阶、彩色的影像,到独立出一个个的文字影像的过程,都属于影像前处理。包含了影像正规化、去除噪声、影像矫正等的影像处理,及图文分析、文字行与字分离的文件前处理。在影像处理方面,在学理及技术方面都已达成熟阶段,因此在市面上或网站上有不少可用的链接库;在文件前处理方面,则凭各家本领了;影像须先将图片、表格及文字区域分离出来,甚至可将文章的编排方向、文章的题纲及内容主体区分开,而文字的大小及文字的字体亦可如原始文件一样的判断出来。
文字特征抽取:单以识别率而言,特征抽取可说是OCR的核心,用什么特征、怎么抽取,直接影响识别的好坏,也所以在OCR研究初期,特征抽取的研究报告特别的多。而特征可说是识别的筹码,简易的区分可分为两类:一为统计的特征,如文字区域内的黑/白点数比,当文字区分成好几个区域时,这一个个区域黑/白点数比之联合,就成了空间的一个数值向量,在比对时,基本的数学理论就足以应付了。而另一类特征为结构的特征,如文字影像细线化后,取得字的笔划端点、交叉点之数量及位置,或以笔划段为特征,配合特殊的比对方法,进行比对,市面上的线上手写输入软件的识别方法多以此种结构的方法为主。
对比数据库:当输入文字算完特征后,不管是用统计或结构的特征,都须有一比对数据库或特征数据库来进行比对,数据库的内容应包含所有欲识别的字集文字,根据与输入文字一样的特征抽取方法所得的特征群组。
对比识别:这是可充分发挥数学运算理论的一个模块,根据不同的特征特性,选用不同的数学距离函数,较有名的比对方法有,欧式空间的比对方法、松弛比对法(Relaxation)、动态程序比对法(Dynamic Programming,DP),以及类神经网络的数据库建立及比对、HMM(Hidden Markov Model)…等著名的方法,为了使识别的结果更稳定,也有所谓的专家系统(Experts System)被提出,利用各种特征比对方法的相异互补性,使识别出的结果,其信心度特别的高。
字词后处理:由于OCR的识别率并无法达到百分之百,或想加强比对的正确性及信心值,一些除错或甚至帮忙更正的功能,也成为OCR系统中必要的一个模块。字词后处理就是一例,利用比对后的识别文字与其可能的相似候选字群中,根据前后的识别文字找出最合乎逻辑的词,做更正的功能。
字词数据库:为字词后处理所建立的词库。
人工校正:OCR最后的关卡,在此之前,使用者可能只是拿支鼠标,跟着软件设计的节奏操作或仅是观看,而在此有可能须特别花使用者的精神及时间,去更正甚至找寻可能是OCR出错的地方。一个好的OCR软件,除了有一个稳定的影像处理及识别核心,以降低错误率外,人工校正的操作流程及其功能,亦影响OCR的处理效率,因此,文字影像与识别文字的对照,及其屏幕信息摆放的位置、还有每一识别文字的候选字功能、拒认字的功能、及字词后处理后特意标示出可能有问题的字词,都是为使用者设计尽量少使用键盘的一种功能,当然,不是说系统没显示出的文字就一定正确,就像完全由键盘输入的工作人员也会有出错的时候,这时要重新校正一次或能允许些许的错,就完全看使用单位的需求了。
结果输出:其实输出是件简单的事,但却须看使用者用OCR到底为了什么?有人只要文本文件作部份文字的再使用之用,所以只要一般的文字文件、有人要漂漂亮亮的和输入文件一模一样,所以有原文重现的功能、有人注重表格内的文字,所以要和Excel等软件结合。无论怎么变化,都只是输出档案格式的变化而已。
正如一楼所说,这个软件是没有办法识别pdf上图片中的文字的,下面分享一个方法,希望可以帮助到您!
1、在电脑上准备一个ocr文字识别工具,并打开;
2、通过左上角的添加文件按钮,将需要识别的pdf图片添加进去;
3、点击开始识别按钮。
请楼主稍等片刻,便是识别成功的。
对上面的识别pdf图片文字的方法有疑问的朋友,可以在下面留言哦!
扫描文字,结果以图片格式(.bmp)存入电脑。然后使用ORC识别系统进行转换,最终用WORD进行修改编辑。下面教你如何使用ORC:
OCR是英文Optical Character Recognition的缩写,翻译成中文就是通过光学技术对文字进行识别的意思,是自动识别技术研究和应用领域中的一个重要方面。它是一种能够将文字自动识别录入到电脑中的软件技术,是与扫描仪配套的主要软件,属于非键盘输入范畴,需要图像输入设备主要是扫描仪相配合。现在OCR主要是指文字识别软件,在1996年清华紫光开始搭配中文识别软件之前,市场上的扫描仪和OCR软件一直是分开销售的,专业的OCR软件谠缧┦焙蚵舻帽壬�枰腔挂�蟆K孀派�枰欠直媛实奶嵘�琌CR软件也在不断升级,扫描仪厂商现在已把专业的OCR软件搭配自己生产的扫描仪出售。OCR技术的迅速发展与扫描仪的广泛使用是密不可分的,近两年随着扫描仪逐渐普及和OCR技术的日臻完善,OCR己成为绝大多数扫描仪用户的得力助手。
一、OCR技术的发展历程
自20世纪60年代初期出现第一代OCR产品开始,经过30多年的不断发展改进,包括手写体的各种OCR技术的研究取得了令人瞩目的成果,人们对OCR产品的功能要求也从原来的单纯注重识别率,发展到对整个OCR系统的识别速度、用户界面的友好性、操作的简便性、产品的稳定性、适应性、可靠性和易升级性、售前售后服务质量等各方面提出更高的要求。
IBM公司最早开发了OCR产品,1965年在纽约世界博览会上展出了IBM公司的OCR产品——IBMl287。当时的这款产品只能识别印刷体的数字、英文字母及部分符号,并且必须是指定的字体。20世纪60年代末,日立公司和富士通公司也分别研制出各自的OCR产品。全世界第一个实现手写体邮政编码识别的信函自动分拣系统是由日本东芝公司研制的,两年后NEC公司也推出了同样的系统。到了1974年,信函的自动分拣率达到92%左右,并且广泛地应用在邮政系统中,发挥着较好的作用。1983年日本东芝公司发布了其识别印刷体日文汉字的OCR系统OCRV595,其识别速度为每秒70~100个汉字,识别率为99.5%。其后东芝公司又开始了手写体日文汉字识别的研究工作。
中国在OCR技术方面的研究工作相对起步较晚,在20世纪70年代才开始对数字、英文字母及符号的识别技术进行研究,20世纪70年代末开始进行汉字识别的研究。1986年,国家863计划信息领域课题组织了清华大学、北京信息工程学院、沈阳自动化所三家单位联合进行中文OCR软件的开发工作。至1989年,清华大学率先推出了国内第一套中文OCR软件--清华文通TH-OCR1.0版,至此中文OCR正式从实验室走向了市场。清华OCR印刷体汉字识别软件其后又推出了TH-OCR 92高性能实用简/繁体、多字体、多功能印刷汉字识别系统,使印刷体汉字识别技术又取得重大进展。到1994年推出的TH-OCR 94高性能汉英混排印刷文本识别系统,则被专家鉴定为“是国内外首次推出的汉英混排印刷文本识别系统,总体上居国际领先水平”。上个世纪90年代中后期,清华大学电子工程系提出并进行了汉字识别综合研究,使汉字识别技术在印刷体文本、联机手写汉字识别、脱机手写汉字识别和脱机手写数字符号识别等领域全面地取得了重要成果。具有代表性的成果是TH-OCR 97综合集成汉字识别系统,它可以完成多文种(汉、英、日)印刷文本、联机手写汉字、脱机手写汉字和手写数字的识别输入。几年来,除清华文通TH-OCR外,其它如尚书SH-OCR等各具风格的OCR软件也相继问世,中文OCR市场稳步扩大,用户遍布世界各地。
可以说目前印刷体OCR的识别技术已经达到较高水平。OCR产品已由早期的只能识别指定的印刷体数字、英文字母和部分符号,发展成为可以自动进行版面分析、表格识别,实现混合文字、多字体、多字号、横竖混排识别的强大的计算机信息快速录入工具。对印刷体汉字的识别率达到98%以上,即使对印刷质量较差的文字其识别率也达到95%以上。可识别宋体、黑体、楷体、仿宋体等多种字体的简、繁体,并且可以对多种字体、不同字号混合排版进行识别,对手写体汉字的识别率达到70%以上。特别是我国的汉字OCR技术经过十几年的努力,克服了起步晚、汉字字符集异常庞大等困难,单字的识别速度(指在单位时间内所完成的从特征提取到识别结果输出的字数)可以达到70字/秒以上。由于印刷体OCR汉字识别技术已经比较成熟,所以OCR产品被广泛地应用在新闻、印刷、出版、图书馆、办公自动化等各个行业。
专业型OCR产品多是面向特定的行业,即适用于每天需处理大量表格信息录入的部门,如邮政、税务、海关、统计等等。这种面向特定行业的专业型OCR系统,格式较为固定,识别的字符集相对较小,经常与专用的输入设备结合使用,因此具有速度快、效率高等特点,比如邮件自动分拣系统等。
手写文稿的识别直到1996、1997年才开始有产品问世,而且是作为印刷文稿识别产品的一项附加功能提供的。由于人写字的习惯千差万别,实现自由手写体识别相当困难,所以手写体OCR技术的使用领域是联机手写体识别,即人一边写,计算机一边识别,是一种实时识别方式。
二、OCR的基本原理
简单地说,OCR的基本原理就是通过扫描仪将一份文稿的图像输入给计算机,然后由计算机取出每个文字的图像,并将其转换成汉字的编码。其具体工作过程是,扫描仪将汉字文稿通过电荷耦合器件CCD将文稿的光信号转换为电信号,经过模拟/数字转换器转化为数字信号传输给计算机。计算机接受的是文稿的数字图像,其图像上的汉字可能是印刷汉字,也可能是手写汉字,然后对这些图像中的汉字进行识别。对于印刷体字符,首先采用光学的方式将文档资料转换成原始黑白点阵的图像文件,再通过识别软件将图像中的文字转换成文本格式,以便文字处理软件的进一步加工。其中文字识别是OCR的重要技术。
1.OCR识别的两种方式
与其它信息数据一样,在计算机中所有扫描仪捕捉到的图文信息都是用0、1这两个数字来记录和进行识别的,所有信息都只是以0、1保存的一串串点或样本点。OCR识别程序识别页面上的字符信息,主要通过单元模式匹配法和特征提取法两种方式进行字符识别。
单元模式匹配识别法(Pattern Matching)是将每一个字符与保存有标准字体和字号位图的文件进行不严格的比较。如果应用程序中有一个已保存字符的大数据库,则应用程序会选取合适的字符进行正确的匹配。软件必须使用一些处理技术,找出最相似的匹配,通常是不断试验同一个字符的不同版本来比较。有些软件可以扫描一页文本,并鉴别出定义新字体的每一个字符。有些软件则使用自己的识别技术,尽其所能鉴别页面上的字符,然后将不可识别的字符进行人工选择或直接录入。
特征提取识别法(Feature Extraction)是将每个字符分解为很多个不同的字符特征,包括斜线、水平线和曲线等。然后,又将这些特征与理解(识别)的字符进行匹配。举个简单的例子,应用程序识别到两条水平横线,它就会“认为”该字符可能是“二”。特征提取法的优点是可以识别多种字体,例如中文书法体就是采用特征提取法实现字符识别的。
多数OCR应用软件都加入了语法智能检查功能,这种功能进一步提高了识别率。它主要通过上下文检查法实现拼写和语法的纠正,在文字识别时,OCR应用程序会做多次的上下文衔接性检查,根据程序中已经存在的词组、固定的用词顺序,对应的检查字符串的用词字。比较高级的应用软件会自动用它“认为”正确的词语替换错误词语,纠正语句意思。
2.文字识别的几个步骤
文字识别包括以下几个步骤:图文输入、预处理、单字识别和后处理等。
(1)图文输入
是指通过输入设备将文档输入到计算机中,也就是实现原稿的数字化。现在用得比较普遍的设备是扫描仪。文档图像的扫描质量是OCR软件正确识别的前提条件。恰当地选择扫描分辨率及相关参数,是保证文字清楚、特征不丢失的关键。此外,文档尽可能地放置端正,以保证预处理检测的倾斜角小,在进行倾斜校正后,文字图像的变形就小。这些简单的操作,会使系统的识别正确率有所提高。反之,由于扫描设置不当,文字的断笔过多可能会分检出半个文字的图像。文字断笔和笔画粘连会造成有些特征丢失,在将其特征与特征库比较时,会使其特征距离加大,识别错误率上升。
(2)预处理
扫描一幅简单的印刷文档的图像,将每一个文字图像分检出来交给识别模块识别,这一过程称为图像预处理。预处理是指在进行文字识别之前的一些准备工作,包括图像净化处理,去掉原始图像中的显见噪声(干扰)。主要任务是测量文档放置的倾斜角,对文档进行版面分析,对选出的文字域进行排版确认,对横、竖排版的文字行进行切分,每一行的文字图像的分离,标点符号的判别等。这一阶段的工作非常重要,处理的效果直接影响到文字识别的准确率。
版面分析是对文本图像的总体分析,是将文档中的所有文字块分检出来,区分出文本段落及排版顺序,以及图像、表格的区域。将各文字块的域界(域在图像中的始点、终点坐标),域内的属性(横、竖排版方式)以及各文字块的连接关系作为一种数据结构,提供给识别模块自动识别。对于文本区域直接进行识别处理,对于表格区域进行专用的表格分析及识别处理,对于图像区域进行压缩或简单存储。行字切分是将大幅的图像先切割为行,再从图像行中分离出单个字符的过程。
(3)单字识别
单字识别是体现OCR文字识别的核心技术。从扫描文本中分检出的文字图像,由计算机将其图形、图像转变成文字的标准代码,是让计算机“认字”的关键,也就是所谓的识别技术。就像人脑认识文字是因为在人脑中已经保存了文字的各种特征,如文字的结构、文字的笔画等。要想让计算机来识别文字,也需要先将文字的特征等信息储存到计算机里,但要储存什么样的信息及怎样来获取这些信息是一个很复杂的过程,而且要达到非常高的识别率才能符合要求。通常采用的做法是根据文字的笔画、特征点、投影信息、点的区域分布等进行分析。
中国汉字常用的就有几千,识别技术就是特征比较技术,通过和识别特征库的比较,找到特征最相似的字,提取该文字的标准代码,即为识别结果。比较是人们认识事物的一种基本方法,汉字识别也是通过比较找出汉字之间的相同、相似、相异,把握其量和质的关系,以及时间与空间的关系等。对于大字符集的汉字一般采用多级分类,多特征、全方位动态匹配求相似集,以保证分类率高、适应性强、稳定性好;细分类重点在于对相似集求异匹配、加权处理、结构判别,定量、定性分析,以及前后联接词的关系,最后进行判别。汉字识别实质上是比较科学或认知科学在人工智能方面的应用,其关键技术是识别特征库。计算机有了这样的一个特征库,才能完成认字的功能。
在图像文档的版面中,除了有文字、图片,有时还会有表格存在,为了使识别后的表格数字化,需要在版面分析过程中,对表格域进行特殊的处理,它包括对表格线的结构信息的提取,对表格内文字域的分检,完成对表格线和对文字域的识别,并根据表格线的数字化生成不同的文件格式。由于文档中的表格随意性大,格式多样,有封闭式的,也有开放式的,特别是表格中的斜线,给表格分析造成一定的困难。
(4)后处理
后处理是指对识别出的文字或多个识别结果采用词组方式进行上下匹配,即将单字识别的结果进行分词,与词库中的词组进行比较,以提高系统的识别率,减少误识率。
汉字字符识别是文字识别领域最为困难的问题,它涉及模式识别、图像处理、数字信号处理、自然语言理解、人工智能、模糊数学、信息论、计算机、中文信息处理等学科,是一门综合性技术。近几年来,印刷汉字识别系统的单字识别正确率已经超过95%,为了进一步提高系统的总体识别率,扫描图像、图像的预处理以及识别后处理等方面的技术也都得到了深入的研究,并取得了长足的进展,有效地提高了印刷汉字识别系统的总体性能。清华大学在此方面的研究成果突出,已经成为世界上的最具权威的机构之一。目前,清华紫光的全系列扫描仪中都配装了清华OCR千禧版软件,它在识别率、表格识别甚至规范手写体的识别方面,均达到了较高水平。
三、OCR文字识别技巧
在最近几年中,OCR识别技术随着扫描仪的普及得到了飞速的发展,扫描、识别软件的性能不断强大并向智能化不断升级发展。但是要想快速地获取正确的扫描结果,得到高效率的文字录入,必须认真学习有关知识,结合实践经验,摸索出自己的全套解决方案。有时我们在作文字识别工作时识别率非常低,根本达不到软件所说的95%以上,请先不要责怪硬件或软件,其实这是没有掌握好扫描及OCR识别技巧的原因。
下面是文字识别操作中经常用到了一些方法和技巧。
1.分辨率的设置是文字识别的重要前提。一般来讲,扫描仪提供较多的图像信息,识别软件比较容易得出识别结果。但也不是扫描分辨率设得越高识别正确率就越高。选择300dpi或400dpi分辨率,适合大部分文档扫描。注意文字原稿的扫描识别,设置扫描分辨率时千万不要超过扫描仪的光学分辨率,不然会得不偿失。下面是部分典型设置,仅供参考。
(1)1、2、3号字的文章段,推荐使用200dpi。
(2)4、小4、5号字的文章段,推荐使用300dpl
(3)小5、6号字的文章段,推荐使用400dpl
(4)7、8号字的文章段,推荐使用600dpi。
2.扫描时适当地调整好亮度和对比度值,使扫描文件黑白分明。这对识别率的影响最为关键,扫描亮度和对比度值的设定以观察扫描后的图像中汉字的笔画较细但又不断开为原则。进行识别前,先看看扫描得到的图像中文字质量如何,如果图像存在黑点或黑斑时或文字线条很粗很黑,分不清笔画时,说明亮度值太小了,应该增加亮度值在试试;如果文字线条凹凸不平,有断线甚至图像中汉字轮廓严重残缺时,说明亮度值太大了,应减小亮度后再试试。
3.选好扫描软件。选一款好的适合自己的OCR软件是作好文字识别工作的基础,一般不要使用扫描仪自带的OEM软件,OEM的OCR软件的功能少、效果差,有的甚至没有中文识别,经过比较,我认为清华紫光OCR2003专业版和尚书OCR6.0文本自动识别输入系统的识别能力与使用功能更突出一些。再选一个图像软件,OCR软件不是有扫描接口吗?为什么还找图像软件?第一,OCR软件不能识别所有的扫描仪;第二,也是最关键的,利用图像软件的扫描接口扫描出来的图像便于处理;一般选用PHOTOSHOP。
4.如果要进行的文本是带有格式的,如粗体、斜体、首行缩进等,部分OCR软件识别不出来,会丢失格式或出现乱码。如果必须扫描带有格式的文本,事先要确保使用的识别软件是否支持文字格式的扫描。也可以关闭样式识别系统,使软件集中注意力查找正确的字符,不再顾及字体和字体格式。
参考资料:ocr营业执照识别