-1

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

怎么分析人物性格?如何将它们操作成字体数据?

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

4

2 回答 2

3

OCR(光学字符识别)不是一项普通的编程任务。事实上,这不仅关乎你的编程技能,还需要对大量科学问题有很好的理解。
在这里,我概述了完成此类任务所需的步骤并提及所需的技能,因此如果您坚持,可以按照它们进行操作;

  1. 预处理:OCR 程序几乎总是对图像进行预处理,以提高其作为识别部分输入的质量。(技能:图像处理)
  2. 字符识别:在对输入图像应用所需的更改(如删除某些部分、缩放、应用一些过滤器......)后,程序应该使用现有的大量工具(如神经网络、 SVM,KNN ...)。(技能:机器学习-至少对上述工具之一有足够的了解)
  3. 后处理:上一步输出的准确性在大多数情况下可以进一步提高,特别是如果您将领域知识注入问题,例如强制输出到现有词典。(技能:再次使用 ML - KNN、CBR、...)

我希望这个一般性的解释能很好地指导你。并相信我试图让它尽可能简单。

于 2014-02-28T06:07:09.437 回答
2

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

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

我建议教科书仍然是比在线阅读少量帖子、文章和论文更好的起点。我向对 OCR 感兴趣的人推荐两本书:

Stanislas Dehaene 在大脑中阅读

Cheriet 等人的字符识别系统。

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

Cheriet 的书给出了该领域工作的相对最新的概述。即使您对数学不熟悉,您也会对所做的研究有所了解。

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

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


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

正方体经常被提及。免费是一个不错的价格,所以您可能想尝试一下。 https://code.google.com/p/tesseract-ocr/

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

  • ABBYY 的 FineReader。
  • Nuance 的 OmniPage。

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

  • 康耐视
  • 微扫描
  • MvTec(产品:HALCON)
  • 美国国家仪器公司的LabVIEW

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

于 2014-03-01T07:05:58.137 回答