LeadTools OCR 文字识别进阶——使用LEADTOOLS对OCR识别图片进行预处理

在进行OCR文字识别的时候,为了得到更好、更准确的识别率,往往只将原始图片进行识别是不够的,因为这些图片的来源有很多,比如相机拍摄、摄像头、手机拍照、扫描、屏幕截图等等。为了更好的突出文字,弱化其他环境因素,使其能够被OCR识别引擎更好的识别,我们需要对图片进行一些处理,例如彩色图片变黑白、倾斜校正、文字清晰化等等。

发布于 2015/08/25 00:00

在进行OCR文字识别的时候,为了得到更好、更准确的识别率,往往只将原始图片进行识别是不够的,因为这些图片的来源有很多,比如相机拍摄、摄像头、手机拍照、扫描、屏幕截图等等。

为了更好的突出文字,弱化其他环境因素,使其能够被OCR识别引擎更好的识别,我们需要对图片进行一些处理,例如彩色图片变黑白、倾斜校正、文字清晰化等等。

1. 打开LEADTOOLS演示Demo:MultiEngine OCR Demo,然后选择Advantage识别引擎。

2. 在菜单中选择File->Open->示例图片

image

3. 在弹出对话框中选择一副您需要识别的图片。我们选择的是一副银行流水明细单。

image

可以看到,这个流水单中,有主要的三个问题:倾斜、印章、边线。

这其中,尤其是印章对整个识别非常不友好,会导致印章周围、印章中间的字识别不正确。倾斜的角度比较大,有可能会造成识别结果不准确。框线虽然非常整齐,但是对于识别引擎来说这是一个障碍,有可能字的旁边会被识别为竖线:|。

所以我们要对这样的图片进行一些预处理。首先需要去掉的肯定是印章,红色和黑色的对比太过强烈,所以我们利用通道的概念,去掉红色通道,只保留黑与白,这样印章就会消失,还原一副完全干净的明细单。

要使用通道,这不得不提到LEADTOOLS强大的图像处理功能,图像处理能够实现非常多的功能,所以我们使用另一个示例程序对图片进行处理。

1、打开安装盘:\LEADTOOLS 19\Shortcuts\Image Processing\.NET Class Libraries\Main Demo下的图像处理演示Demo:Main Demo。

2、点击菜单中的File—Open打开刚才的图片。

3、然后点击Color—Separation—RGB

image

图像会按照RGB三个通道分为三幅图片:

image

可以看到中间的红色通道图片上面的红色印章消失了。我们就将红色通道的那副图片保存下来,然后再用MultiEngine Demo打开准备进行OCR识别。

打开之后,我们先进行倾斜校正,因为扫描的有点斜,LEADTOOLS自带全自动倾斜校正,这省去了大量的开发时间,节省了工作时间,只需要一个命令就可以将倾斜的文本进行校正。

点击Pages—Process—Preprocess—Deskew进行倾斜校正:

image

校正完成后如下图:

image

接下来我们要去掉竖线,只保留文字。

首先我们要将这张图片转换为1bit黑白图像,使用Page—Process—Binarization—Auto命令进行黑白转换:

image

转换完成后,我们再移除横线,使用Pages—Process-Document Clean up—Line Remove移除框线:

image

移除框线后,效果如下:

image

可以看到,到这里,整张图片已经只剩下文字了,而且比之前要清晰的多,识别率也比之前提高了不少。

当然,这些操作针对不同图片有不同的效果,您可以自己尝试着做一遍,主要目的都只有一个就是让图片更加清晰,杂物更加少,以便于更好的识别。

最后放上最初图片和处理过图片的对比图:

image

获取支持

关于其他产品的更多信息,请访问我们的官方网站

欢迎下载免费的全功能评估版SDK,全功能试用版中有这个例子的全部源代码。

同时欢迎您使用评估版期间的免费技术支持

关于葡萄城

葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

推荐相关案例
推荐相关资源
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态