古吉拉特语OCR软件

时间:2014-02-28 05:34:46

标签: algorithm ocr indic

如何为印度语言创建ocr软件?

如何分析角色? 如何将它们操作为字体数据?

我相信我需要使用某种形式跟踪线条图案并将这些图案分析为字体字符。

2 个答案:

答案 0 :(得分:3)

OCR(光学字符识别)不是普通的编程任务。事实上,它不仅仅是关于你的编程技巧,还需要对一大块科学问题有一个很好的理解。
在这里,我总结了完成这项任务所需步骤的一般情况,并提到了所需的技能,所以如果你坚持的话,你可以遵循它们;

  1. 预处理:OCR程序几乎总是对图像执行预处理,以提高其作为其识别部分输入的质量。 (技能:图像处理)
  2. 字符识别:在对输入图像应用所需的更改后(如删除某些部分,缩放,应用某些过滤器......),程序应使用现有大量工具中的工具识别字符(如神经网络,SVM,KNN ...)。(技能:机器学习 - 至少有关于上述工具之一的知识)
  3. 后处理:如果您在问题中注入领域知识(例如将输出强制到现有词典),则上一步输出的准确性可以进一步提高。 (技能:ML再次 - KNN,CBR,......)
  4. 我希望这个一般性的解释能够很好地指导你。并且相信我尽量保持简单。

答案 1 :(得分:2)

古吉拉特语脚本对于许多现有的OCR库来说可能很棘手。几个问题:

  • 您想阅读机器打印的文字或手写内容吗?这是两个独立的问题域。
  • 您是否打算将OCR算法开发/应用于特定的图像/文本集?如果是这样,你能发布一些样本图片吗?
  • 你的最终目标是什么?您是要扫描手写文本以进行机器处理,还是阅读工业应用文本或扫描表格?
  • 什么读取率(准确度)是可以接受的?

我建议教科书仍然比在线阅读一些帖子,文章和论文更好。对于对OCR感兴趣的人,我推荐两本书:

Stanislas Dehaene在大脑中阅读

Cheriet等人的字符识别系统

Dehaene的书非常易读,在阅读时,您将开发关于如何为您的特定应用开发OCR的某些概念。我认为,无论您的经验水平如何,在您花费太多时间阅读他人的工作之前,尝试使用您拥有的任何技能来解决问题通常是最好的。花几天或几周写一些代码或至少写下想法。

Cheriet一书概述了该领域的工作。即使您不熟悉数学,您也会对已经完成的研究有所了解。

首先尝试全面了解该领域已完成的工作,以及针对类似古吉拉特语的脚本测试了哪些技术。针对日语,中文和相关脚本测试的中风提取技术可能与古吉拉特语有关。据我所知,古吉拉特语等现有OCR解决方案的数量相对有限。但是,一些基于神经网络的方法可用于训练古吉拉特语字符(或任意符号)上的软件,然后识别它们,假设要读取的字符是机器打印的。

看看你是否可以为古吉拉特语找到一组样本图像。对于许多语言,存在标准图像集或至少用于测试OCR算法的准确性的常见图像集。如果可能,请获取原始,原始,彩色或8位灰度图像,而不是已经二值化为黑白(0和1)的图像。


首先,我建议至少找一个能够至少部分解决问题的软件包。一些OCR算法识别轮廓,另一些使用神经网络识别灰度模式,等等。一旦找到一个软件包,其算法对您的图像样本有些成功,您就可以确定使用的算法类型并从那里开始。

经常提到Tesseract。免费是一个很好的价格,所以你可能想尝试一下。 https://code.google.com/p/tesseract-ocr/

自从我查看以下内容已经有几年了,但其中一个可能有一个用户可训练的字体,您可以在机器打印的古吉拉特语中尝试:

  • ABBYY的FineReader。
  • Nuni的OmniPage。

工业图像处理(a.k.a。“机器视觉”)中的公司提供实现各种OCR算法的软件包。虽然这些软件包通常设计用于读取硅晶片,产品包装等上的几行文本,但它们可能对您有用,因为(a)简单的用户界面可以帮助您快速测试想法,(b)软件包包括许多其他图像处理工具,(c)您可以训练的字符,符号或图像功能的限制很少,(d)您可以下载具有全功能OCR工具的试用版。

  • 康耐视
  • 的Microscan
  • MvTec(产品:HALCON)
  • National Instruments LabVIEW

对于机器打印文本,图像捕获也很重要。一个好的光学系统可以帮助提高读取精度:这可能意味着选择一个好的相机+镜头+灯光,或者选择一个高质量的平板扫描仪。