免费扫描软件
无广告、无水印

用Pdg2Pic、TextForever实现批量OCR

一、FAQ

Q:什么是OCR?

A:OCR是Optical Character Recognition(光学字符识别)的缩写,简单点说,就是将扫描出来的书籍图像文件,转换成可以编辑、查找的文本文件。

Q:为什么要OCR?

A:理由如下(不是全集,您还可以想象其它的理由):

以目前的技术,图像文件还不能进行全文检索,但是转换成文本后想怎么检索都好说。

图像文件上的文字很难被引用,但是复制、粘贴文本谁不会?

与文本文件的尺寸相比,图像文件显得大了点。

图像文件的浏览比较受限制,看多了容易疲劳,文本文件相对好一点。当然也有人对此持相反观点。

不可否认,目前网上文本格式的书源要比图像格式的贫乏许多,在OCR的门槛降低到人人都能参予后,相信会有助于丰富文本格式的书源。

Q:OCR的好处已经明白了,那么它有没有什么短处?

A:世间不如意,常十之八九:

以目前的OCR技术,还不能保证准确率达到100%,因此OCR出来的结果可能会包含大量的错字、别字,需要进行校对。

以目前的技术,想完整再现原文版式是一件很有难度的工作,因此OCR出来的结果通常还需要重新排版。

OCR需要进行复杂的内部运算,消耗大量的CPU时间。

最关键的一点:以目前能够达到的技术,OCR用来识别以文字为主的文史类书籍还凑合,要想识别图文混排、中英文混排、包含复杂表格、字体应用比较丰富(尤其是斜体)的理工类书籍,识别出来的结果多半有点哭笑不得。

如果看了上面的说明后您已经对OCR心灰意冷,可以不必浪费时间往下看了。

Q:为什么要用Pdg2Pic、TextForever来做OCR?

A:目前市面上有很多成熟的OCR产品,包括清华、汉、丹青等。从我使用的情况看,这些产品的识别率基本上已经接近技术的极限, 只是在使用方便性上还有一些不足,尤其是在批量识别方面。而Pdg2Pic、TextForever(以下简称PT)则是专门为了批量OCR而设计的。如果您觉得批量识别用处不大,建议您还是选择这些专业OCR软件。

Q:PT在技术上有什么特点?

A:PT基于微软Office 2003提供的Microsoft Office Document Imaging (MODI)所带的OCR引擎。这个引擎的中文识别(包括简体和繁体)采用的是清华的技术,因此具有下列特点:

在简体中文环境下识别简体,或在繁体中文环境下识别繁体都没有问题,但是想在简体环境下识别繁体,或在繁体下识别简体,则需要对软件进行配置或安装,详见后面的叙述。

识别率比上不足,比下有余,毕竟清华也不会傻到自断财路。但是在所有商业级OCR软件中,微软MODI是唯一公开编程接口的,因此才能被PT所调用。如果您能够提供识别率更高,并且没有法律后患的其它OCR引擎的编程接口,我很愿意对PT进行更改。

OCR引擎本身提供了对字符的识别,但是没有提供版式恢复功能。MODI将识别结果发送到wps里的版式校正是微软自己做的,我自认做不到那个水平,所以OCR出来的结果在排版方面需要多花点功夫。

Q:为什么其它OCR软件都很大,而MODI的尺寸这么小(简体中文版安装包才5MB多一点)?

A:在历史上,针对印刷体OCR的技术路线,国内OCR界曾经爆发过一场争议,主要观点分成两派:

一派认为为了提高识别率,应该先识别出印刷(打印)时采用的字体,然后针对字体特征进行识别。国外OCR界在识别字母文字时也有人持相同的观点。这种路线的好处是显而易见的:

1、在识别出字体后,字符特征相对固定,识别率能够得到提高。

2、得到原文的字体后,便于恢复原文版式。

当然缺点也是明摆着的:需要针对每一种可能遇到的字体建立特征库,如果需要识别的字体不在事先建立的特征库范围内,则识别率急剧下降。但是众多的特征库不仅占用存储空间,对OCR的运行效率也有影响。

另一派认为事物是有区别的,但又是普遍联系的,如果割裂这些联系,就会……(以下省略高中《辨正唯物主义》教材中的若干着名论断)。总之,在他们看来,字体会变,但是汉字的笔画是不会变的,中文的“文”字那一横在宋体中是平的,在楷书中是斜的,但是一横就是一横,绝对不会变成一竖。因此该派认为没有必要为所有字体建立特征库,大家共用一个就可以了。这种路线的好处是:

1、特征库比较单纯,库的体积相对较小,识别速度也相对较快。

2、即使需要识别的字体比较少见,识别率也不会差到离谱。

这种路线的缺点是:

1、需要针对大量字体进行特征归纳,并在机器归纳基础上手工调整,开发的时候比较累。

2、由于大量字体之间的平均效果,识别率会比采用第一种路线的差上那么一点点,不过做好了感觉就不是那么明显了。

3、由于没有字体信息,很难恢复原文版式。

在开始的时候,由于硬盘资源对于用户来说是一种比较昂贵的资源,因此清华是第二条路线的坚定支持者和倡导者。但是随着OCR引擎的竞争逐渐转移到对原文版式的恢复上,而硬盘价格直线下降,清华开始全线转移到第一条技术路线上。从MODI安装的文件来看,微软购买的显然是清华采用第二条技术路线时的产品,所有字体共用一个特征库,尺寸当然就下来了。

与此形成对照的是某些人喜欢用的CAJViewer。从文件上看,它采用的也是清华的OCR引擎,而且是按第一条路线实现的,附带庞大的字体特征库,安装包几乎是MODI的10倍大小,速度也比MODI慢。但是从应用功能上看,CAJViewer仅仅识别出纯文本,没有字体信息,至少没有将识别出来的字体信息展现出来。用一个形象但不一定恰当的比喻,相当于花钱买了一整只烤鸭,结果只吃了一个鸭PP就算了,总给人一点冤大头的感觉。

Q:如果我对OCR出来的结果不满意,怎么办?

A:OCR效果和下列因素有关:

OCR引擎。这个不行就只能换一个。不过如前所述,我能用的就只有MODI一个。

图像质量。这个其实是决定OCR质量最为关键的因素。好的图像应该黑白分明、页面端正、字迹清楚,无笔画间断、粘连,或污迹干扰。如果原始图像较差,可以先手工进行修正,包括纠斜、去除污迹、调整图像明暗等。处理时推荐使用专业图像处理软件,如果用不了也可以用简单点的ComicEnhancer Pro。

语言选择。中文简体和繁体的识别是不同的,英文和中文的识别也不同,因此针对图像中的文字,选择合适的语言,有助于提高识别率。

二、开始转换

1、为在简体中文环境下OCR繁体中文所做的准备

如果您不需要在简体环境下识别繁体,或在繁体环境下识别简体,可以跳过本节。

让繁体Office 2003支持中文简体OCR非常简单:到下面的页面去下载一个简体OCR安装包,运行即可安装:

http://www.microsoft.com/downloads/details.aspx?familyid=dd172063-9517-41d8-82af-29c38f7437b6&displaylang=zh-tw

简体中文Office 2003想支持繁体OCR则没有这么简单,至少在我写这篇文章的时候,微软尚未发布繁体OCR的安装包。不过变通的方法也不是没有:找一台安装了繁体中文Office 2003的机器,进入下面的文件夹:

C:\Program Files\Common Files\Microsoft Shared\MODI\11.0

将下面的文件复制到安装了简体中文Office 2003的相同文件夹下:

TCCODE.UNI

TCPRINT.DAT

TCPRINT2.DAT

TERHT.DAT

TCTREE.DAT

TW_BU.DAT

TW_UB.DAT

TWBIG532.DLL

这样改造后,直接用Office 2003的MODI还不能OCR繁体,因为在MODI的“工具->选项”中,在“OCR”这一页的“OCR语言”项里就没有“中文(繁体)”选择。不过对于直接调用MODI的编程接口的PT来说,这样处理后就已经可以识别繁体中文了。

我比较了一下,似乎在繁体中文Office 2003环境下安装简体OCR包后,并没有改变MODI的EXE文件,所以我猜测可以通过更改配置的方法让简体中文MODI出现“中文(繁体)”选项,不过我试了一下没有试出来,如果有哪位高人愿意指点,还请不吝指教。

另外在简体中文环境下,按照上述步骤设置后,用PT识别出来的繁体中文是GBK编码的繁体字,可以用TextForever的“编码转换功能”批量转换成GB编码的简体字。

2、OCR前的图像准备

想要OCR,当然首先就要有OCR所需的图像文件。对于Pdg2Pic,只需准备PDG文件即可。对于TextForever,由于它只认单色(黑白)TIFF文件,因此如果原始图像文件不是单色TIFF,需要先对图像进行转换,转换的时候如果能顺手对图像进行一下清理、纠斜当然更好。

转换、清理、纠斜都可以使用专业图像处理软件完成,不过对于一般用户,建议使用简单点的免费软件ComicEnhancer Pro 。 这个软件不仅能够批量将图像转换成单色TIFF(“色彩”选项选“单色”),而且能够对图像进行处理,以改善页面效果。所有处理功能都能实时预览到处理效果,便于修改。

需要注意的是,对于PDG文件,建议不要转成图像后再用TextForever识别,而是直接用Pdg2Pic识别,以避免某些多层PDG转来转去损失质量。

3、开始OCR

Pdg2Pic和TextForever的操作都差不多,先选择需要OCR的文件夹,然后选择结果文件,即可开始转换。对OCR选项的解释如下:

自动旋转:选中此复选框可检测页面中文本的方向,并旋转倒置或倾斜的页面图像。

自动拉伸:选中此复选框可检测页面中文本的方向,并对正稍未对齐的页面。

语言:选择OCR语言。可供选择的有英文、中文简体、中文繁体。缺省为中文简体。

注意:自动旋转、自动拉伸均需要时间,考虑到多数文件不需要进行校正,因此这两个选项缺省不选中。如果页面确实变形比较厉害,可以选中后重新OCR。不过有时“自动旋转”出来的结果偏差比较大,所以建议只选“自动拉伸”即可。

4、OCR之后的麻烦事

OCR过程很简单,点几下鼠标就完事了,但是要想真正将结果实用化,还至少需要做两件事:校对和排版。当然这两件事也可以合二为一。

对于有条件的人来说,校对可以用软件自动进行,但是自动校对软件不是一般人愿意装或能够装的,那就只能靠人工校对。人工校对的时候建议用ComiViewer,它能同时显示图像和文本,便于对照。对于真正对电子书比较投入、对校对要求较高的人,建议还是仿照一般电子书网站的作法,找几个同道,成立一个校对组做校对,一个人做太枯燥了。

排版也是一个比较麻烦的过程,各人喜好不同。我比较喜欢用TextForever的“段落合并”功能,通过调整“上一行行长比平均行长短少1/x”参数来改变效果(这个选项缺省不选,需要手工打开)。

未经允许不得转载:坚果云扫描 » 用Pdg2Pic、TextForever实现批量OCR
分享到: 更多 (0)

免费扫描软件 无广告 无水印

坚果云扫描下载坚果云扫描介绍