【问题标题】:Handwritten text recognition with javascript [closed]使用 javascript 进行手写文本识别 [关闭]
【发布时间】:2015-02-28 15:26:29
【问题描述】:

我正在尝试实现一个系统来识别/检测图像中手写文本的单词。我需要识别文本中的单词。但我觉得这是不可能的,因为即使对我来说这些图像也无法阅读。现在我需要的是把单词分开。我只需要弄清楚有一个词。当用户选择一个区域时,系统应该只选择图像中的一个单词。

我的问题是:使用 JavaScript 是否可行?

这是一个示例图像。

【问题讨论】:

  • 与论坛网站不同,我们不使用“谢谢”、“感谢任何帮助”或Stack Overflow 上的签名。请参阅“Should 'Hi', 'thanks,' taglines, and salutations be removed from posts?。顺便说一句,这是“提前致谢”,而不是“在先致谢”。
  • 如果你的问题是Is it doable using JavaScript?,那么答案是肯定的!这绝对是可能的。可行的,任何图灵完备的语言。如果您的问题是如何做好这件事,这确实是一个广泛的问题......
  • 有用的谷歌查询是javascript optical character recognitionOCR 不是一件容易做的事(通常是商业软件),您可能找不到现成的开源软件包。运行 OCR 服务器端会给你更好的机会,因为你不会受到JavaScript 平台的限制

标签: javascript image-processing icr


【解决方案1】:

JS+CanvasViola-Jones 人脸识别技术的基本实现。
有这样的手稿?我认为你会得到非常糟糕的结果

您首先需要检测全局水平倾斜度。 (通过获取倾角,您可以同时检索线高。)
创建一个 100% 水平网格跑步者,如:

0000000000...
1111111111...
0000000000...

0 检查1 检查暗区。让它从上到下遍历您的图像选择数据,以及所有倾斜度(即最大 +-15 度)。
正匹配是当您的(条纹)网格返回阈值对比度密度时匹配其栅格。 如果跑步者没有返回匹配项,则增加它的大小并让它再次运行。
您需要考虑错误,因此您需要存储所有可能的正匹配。完成所有尺寸和倾斜度后,您只需选择匹配更多的那个。

现在您将获得一般的水平倾角线高

现在您需要定义垂直字母倾斜度。同时您可以检索空格
同样的技术。你让一个垂直的跑步者逐行运行(你知道行高)

0101010
0101010
0101010
0101010
0101010

从0左到右。没有比赛?改变程度。让我们再次运行。
检索收集更多匹配项的运行。你有字母倾向。
让它在同一行文本上运行,并收集有关黑暗区域之间的高光间隙的所有信息。

【讨论】:

  • 非常感谢您的支持。我现在不够聪明,无法关注您的帖子。我会对此进行研究。但再次感谢您的想法。
猜你喜欢
  • 2018-09-02
  • 2013-01-03
  • 2017-01-26
  • 2012-05-25
  • 1970-01-01
  • 1970-01-01
  • 2017-09-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多