用好OCR,提高识别率

Author: Date: 2001年 16期

?牐燨CR(Optical character recognition 光学字符识别)是扫描仪在日常使用中的一个重要功能。方便的OCR使印刷体文字的录入最终摆脱键盘。但由于普通印刷品的总体质量还不是很好,在用OCR的过程中,往往会出现许多识别错误的情况,这到底是什么原因造成的呢?许多人却把责任归咎为是OCR软件,其实情况并非如此。那么如何更好地提高它的识别率,以减少人工修改的麻烦呢?下面以《尚书OCR》为例,介绍在使用中的几点经验。
  ?牐?1.选择合适的扫描分辨率:不求最“高”,只求最“佳”。如果分辨率太高,扫描的时间将会大大增加,图形所需的空间也会成倍地增长;如果分辨率太低,给OCR软件的信息量不足,识别率就不会太高。根据经验,普通五号印刷体采用250~300dpi比较合适;若字号比较大(四号以上),用150~200dpi就足够了;如果是六号或七号字,就考虑使用400~600dpi。
  ?牐犗旅媸怯谩渡惺镺CR》扫描四号字,从“应”的150dpi和100dpi的扫描图像(^16060107a^1),可以看出,当分辨率为100dpi时,“应”字的笔划多处断开,OCR没有正确识别出这个字;当分辨率提高到150dpi时,由于扫描仪采集了更多的信息,这个字的所有笔划都清晰完整,因此OCR正确识别出了这个字。像“应”这样100dpi识别不出,而150dpi能够识别出来的文字约占所有扫描字数的33.7%。对于大多数汉字,150dpi的分辨率已完全可以满足需要,但是对于有些汉字,还需要适当地提高扫描分辨率才能正确识别。以下分别是“算”字150dpi和200dpi的扫描图像(^16060107b^2)。扫描分辨率为150dpi时,OCR没能正确识别这个字;将分辨率提高到200dpi后,这个字就被正确识别了。通过上面的分析可以得出以下结论:在使用OCR进行汉字录入时,不应该选择最高扫描分辨率,而应该选择最佳扫描分辨率。大家在使用过程中,可根据实际情况确定最佳分辨率,确定的原则是错误率低于3%,具体操作方法是OCR识别后产生的文本中的红色错字数量可以被接受。如果条件发生变化,例如原始文本的字号较小,则可以适当提高扫描分辨率,反之字号较大,则可适当降低扫描分辨率。当然,这也不是绝对的,如果印刷字迹比较模糊,分辨率就要在此基础上再作适当提高。
  ?牐?2.调节对比度:为了达到最佳的识别效果,对输入稿件在扫描时的要求是清晰,使扫描文件黑白分明,有利于软件的识别。有一些印刷品会因纸质发黄或是有较多的油墨点而影响识别质量,因此在扫描时应适当地调整亮度,扫描亮度的设定以观察扫描后的图像中汉字的笔画较细但又不断开为原则。对于扫描后图像存在黑点或黑斑时,应该适当减小亮度;如果当扫描后图像中汉字轮廓严重残缺时,则可以适当增加亮度。为此,我们可以通过“放大预览”对文稿中的文字进行取样扫描(^16060107c^3),从而对图像的亮度进行更为细致的调节。调节的工具是扫描仪工具内的“阈值”。调节到适当的阈值后,就可以“扫描”了。扫描的结果会传递到《尚书OCR》内,并且扫描仪控制窗口会自动消失。
  ?牐?3.注意文字的倾斜校正:由于《尚书OCR》的识别原理是采用字模的方式进行的,所以一定要注意稿件是否水平。其工具可以采用图像倾斜校正按钮来解决。尚书OCR的版面分析把文稿分为横排正文、竖排正文、表格和图形图像四种类型。在版面上按住鼠标左键沿对角线拖出一块矩形区域,并选择相应的类型。尚书OCR允许文稿有细微的倾斜,但倾斜得太厉害了就要作倾斜校正。校正的方法是,按住鼠标右键拖出直线使之平行于倾斜的文本,这样,识别软件会自动地将文本放正。
  ?牐?4.对稿件进行识别的预先处理:由于原稿的情况是各式各样,所以需要用户在识别前,做一些预先的处理。去除杂点和图像。如文稿中含有图像,OCR是不能识别的,如果有图像存在,会影响OCR的文字切分。可考虑使用“图像的块擦拭”工具将文件中的图像去除,同时将一些杂点,尽量的去除。针对文档中出现分栏的情况,建议手动设定辨识范围,即用多个框选中要进行识别的文字,而不要采用“自动切分”。因为这样才能保证辨识结果的连贯性。
  ?牐?5.采用适当的辨识方式:简繁混排和中英文混排的文稿在识别时往往会出问题。如果文稿中简繁/中英文是块状分布(即这几段为A文,另外几段为B文),则可以采用图形处理软件把块与块分开成独立的文件,然后分别打开,选择相应的语言,分别识别。目前的《尚书OCR》提供了简体、繁体、英文的识别方式(^16060107d^4),选择是在窗口上的下拉菜单,而非按钮菜单。另外,按钮中的简体、繁体、ENGLISH是尚书OCR的在不同的操作系统上获得正确显示的显示模式。